当前位置:网站首页>Solid principle
Solid principle
2022-07-06 17:38:00 【Wzzzzzzx】
In terms of software architecture design , There is a general principle that cannot be bypassed , That's it SOLID principle
. The general principle consists of the initials of five principles , They are as follows :
- Principle of single responsibility (The Single Responsibility Prinlciple): Any software module should only be responsible for a certain kind of behavior
- Opening and closing principle (The Open/Closed Principle): Well designed software should be easy to extend , At the same time, it resists modification
- Richter's principle of substitution (The Liskov Substitution Principle): If you want to build software with replaceable components , Then these components should follow the same interface , So that they can freely replace each other
- Interface isolation principle (The Interface Segregation Principle): Unnecessary dependencies should be avoided in design
- Dependency Inversion Principle (The Dependency Inversion Principle): Depend on abstraction rather than concrete
Build a good software system , We should not only focus on the implementation level of the code , Pay more attention to the design of the overall architecture . A good architecture design can avoid most of the bug
, Cope with endless modifications and functional overlays . How to measure the quality of an architecture ? An important criterion is its maintainability . As a small change, you need to change a lot of code , When you ask some unexpected questions , Such architecture design must be bad . Secondly, readability . The code is to be read , Chaotic architecture will complicate the logic of the code , Increase the difficulty of understanding .
In order to design a good architecture ,SOLID principle
Through a series of principles to guide us How to correctly organize functions and data into components , And how to summarize these components into the final software .
边栏推荐
- [CISCN 2021 华南赛区]rsa Writeup
- Serial serialold parnew of JVM garbage collector
- 【Elastic】Elastic缺少xpack无法创建模板 unknown setting index.lifecycle.name index.lifecycle.rollover_alias
- Virtual machine startup prompt probing EDD (edd=off to disable) error
- Xin'an Second Edition: Chapter 26 big data security demand analysis and security protection engineering learning notes
- 1. Introduction to JVM
- Example of batch update statement combining update and inner join in SQL Server
- Xin'an Second Edition: Chapter 23 cloud computing security requirements analysis and security protection engineering learning notes
- Akamai anti confusion
- CTF逆向入门题——掷骰子
猜你喜欢
05个人研发的产品及推广-数据同步工具
复盘网鼎杯Re-Signal Writeup
Interpretation of Flink source code (II): Interpretation of jobgraph source code
Pyspark operator processing spatial data full parsing (5): how to use spatial operation interface in pyspark
Flink analysis (I): basic concept analysis
04 products and promotion developed by individuals - data push tool
Jetpack compose 1.1 release, based on kotlin's Android UI Toolkit
Uipath browser performs actions in the new tab
Grafana 9 正式发布,更易用,更酷炫了!
05 personal R & D products and promotion - data synchronization tool
随机推荐
基于LNMP部署flask项目
TCP连接不止用TCP协议沟通
Take you hand-in-hand to do intensive learning experiments -- knock the level in detail
04个人研发的产品及推广-数据推送工具
mysql高級(索引,視圖,存儲過程,函數,修改密碼)
Distributed (consistency protocol) leader election (dotnext.net.cluster implements raft election)
EasyRE WriteUp
【MySQL入门】第四话 · 和kiko一起探索MySQL中的运算符
Remote code execution penetration test - B module test
Based on infragistics Document. Excel export table class
遠程代碼執行滲透測試——B模塊測試
复盘网鼎杯Re-Signal Writeup
Application service configurator (regular, database backup, file backup, remote backup)
[ciscn 2021 South China]rsa writeup
Integrated development management platform
PostgreSQL 14.2, 13.6, 12.10, 11.15 and 10.20 releases
BearPi-HM_ Nano development environment
信息与网络安全期末复习(基于老师给的重点)
Akamai 反混淆篇
Automatic operation and maintenance sharp weapon ansible Playbook