SOLID
2024-09-02 16:41:21
S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。
SRP | The Single Responsibility Principle | 单一责任原则 |
OCP | The Open Closed Principle | 开放封闭原则 |
LSP | The Liskov Substitution Principle | 里氏替换原则 |
DIP | The Dependency Inversion Principle | 依赖倒置原则 |
ISP | The Interface Segregation Principle | 接口分离原则 |
单一责任原则:
当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。换句话说就是让一个类只做一种类型责任,当这个类需要承当其他类型的责任的时候,就需要分解这个类。
开放封闭原则
软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。这个原则是诸多面向对象编程原则中最抽象、最难理解的一个。
里氏替换原则
当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系
依赖倒置原则
1. 高层模块不应该依赖于低层模块,二者都应该依赖于抽象
2. 抽象不应该依赖于细节,细节应该依赖于抽象
接口分离原则
不能强迫用户去依赖那些他们不使用的接口。换句话说,使用多个专门的接口比使用单一的总接口总要好。
最新文章
- 实现ABP中Person类的权限功能
- linux 添加静态ip dns
- Microsoft SQL Server,错误: 229 解决方案
- //暴力打开某个APP iOS 私有API LSApplicationWorkspace
- 关于智能指针boost::shared_ptr
- C#中判断文件夹中存在某个txt文本
- android 通过socket获取IP
- C++ 11 之推导关键词
- lintcode:1-10题
- centos安装中文支持(转)
- DATA VISUALIZATION – PART 1
- python-实现一个贴吧图片爬虫
- C#操作MongoDB的简单实例
- (NO.00004)iOS实现打砖块游戏(八):游戏中小球与砖块的碰撞
- css3的动画特效--元素旋转(transition,animation)
- 每日一练ACM 2019.0416
- 理解PHP中的会话控制
- day25 面向对象引子
- 【网络编程1】网络编程基础-TCP、UDP编程
- sqlserver中将查询结果拼接成字符串
热门文章
- 4.4 使用STM32控制MC20进行GPS帧数据解析
- dict字典常用方法总结,数据解构(解包)
- PHP生成缩略图,控制图片质量,支持.png .jpg .gif
- Loadrunder脚本篇——关联数组(参数数组)
- iOS 统计项目代码行数
- android 7.0 (nougat)的编译优化-ninja
- $.proxy() 的妙用
- 【Flask】Sqlalchemy 子查询
- 一步一步粗谈linux文件系统(三)----超级块(superblock)【转】
- jsp中的basePath和path(绝对路径 相对路径)