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. 抽象不应该依赖于细节,细节应该依赖于抽象

接口分离原则 
不能强迫用户去依赖那些他们不使用的接口。换句话说,使用多个专门的接口比使用单一的总接口总要好。

最新文章

  1. 实现ABP中Person类的权限功能
  2. linux 添加静态ip dns
  3. Microsoft SQL Server,错误: 229 解决方案
  4. //暴力打开某个APP iOS 私有API LSApplicationWorkspace
  5. 关于智能指针boost::shared_ptr
  6. C#中判断文件夹中存在某个txt文本
  7. android 通过socket获取IP
  8. C++ 11 之推导关键词
  9. lintcode:1-10题
  10. centos安装中文支持(转)
  11. DATA VISUALIZATION – PART 1
  12. python-实现一个贴吧图片爬虫
  13. C#操作MongoDB的简单实例
  14. (NO.00004)iOS实现打砖块游戏(八):游戏中小球与砖块的碰撞
  15. css3的动画特效--元素旋转(transition,animation)
  16. 每日一练ACM 2019.0416
  17. 理解PHP中的会话控制
  18. day25 面向对象引子
  19. 【网络编程1】网络编程基础-TCP、UDP编程
  20. sqlserver中将查询结果拼接成字符串

热门文章

  1. 4.4 使用STM32控制MC20进行GPS帧数据解析
  2. dict字典常用方法总结,数据解构(解包)
  3. PHP生成缩略图,控制图片质量,支持.png .jpg .gif
  4. Loadrunder脚本篇——关联数组(参数数组)
  5. iOS 统计项目代码行数
  6. android 7.0 (nougat)的编译优化-ninja
  7. $.proxy() 的妙用
  8. 【Flask】Sqlalchemy 子查询
  9. 一步一步粗谈linux文件系统(三)----超级块(superblock)【转】
  10. jsp中的basePath和path(绝对路径 相对路径)