当前位置:网站首页>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 .
边栏推荐
- Jetpack compose 1.1 release, based on kotlin's Android UI Toolkit
- MySQL advanced (index, view, stored procedure, function, password modification)
- 1. Introduction to JVM
- Precipitated database operation class - version C (SQL Server)
- C # nanoframework lighting and key esp32
- 自动化运维利器ansible基础
- Case: check the empty field [annotation + reflection + custom exception]
- 04个人研发的产品及推广-数据推送工具
- Openharmony developer documentation open source project
- 【逆向中级】跃跃欲试
猜你喜欢

EasyRE WriteUp

Chrome prompts the solution of "your company management" (the startup page is bound to the company's official website and cannot be modified)
![[introduction to MySQL] third, common data types in MySQL](/img/11/66b4908ed8f253d599942f35bde96a.png)
[introduction to MySQL] third, common data types in MySQL

Take you hand-in-hand to do intensive learning experiments -- knock the level in detail

Akamai talking about risk control principles and Solutions

Connect to LAN MySQL

Pyspark operator processing spatial data full parsing (5): how to use spatial operation interface in pyspark

04 products and promotion developed by individuals - data push tool

Distributed (consistency protocol) leader election (dotnext.net.cluster implements raft election)

C # nanoframework lighting and key esp32
随机推荐
Example of batch update statement combining update and inner join in SQL Server
关于Selenium启动Chrome浏览器闪退问题
C# NanoFramework 点灯和按键 之 ESP32
Connect to LAN MySQL
Openharmony developer documentation open source project
Flink parsing (V): state and state backend
Vscode replaces commas, or specific characters with newlines
Deploy flask project based on LNMP
Development and practice of lightweight planning service tools
Grafana 9 is officially released, which is easier to use and more cool!
The NTFS format converter (convert.exe) is missing from the current system
Flexible report v1.0 (simple version)
Shawshank's sense of redemption
C#WinForm中的dataGridView滚动条定位
Detailed explanation of data types of MySQL columns
C WinForm series button easy to use
Precipitated database operation class - version C (SQL Server)
【逆向初级】独树一帜
Final review of information and network security (full version)
The solution to the left-right sliding conflict caused by nesting Baidu MapView in the fragment of viewpager