• Single Responsibility Principle(单一功能)

    • A class should have only one reason to change.
  • Open Close Principle(开闭原则)
    • Software entities like classes, modules and functions should be open for extension but closed for modifications.
  • Liskov's Substitution Principle(里氏替换)
    • Derived types must be completely substitutable for their base types.
  • Interface Segregation Principle(接口隔离)
    • Clients should not be forced to depend upon interfaces that they don't use.
  • Dependency Inversion Principle(依赖反转)
    • High-level modules should not depend on low-level modules. Both should depend on abstractions.
    • Abstractions should not depend on details. Details should depend on abstractions.

http://www.oodesign.com/design-principles.html

转载于:https://www.cnblogs.com/dahai/archive/2013/01/07/2849739.html

OO Design之SOLID原则相关推荐

  1. 实践GoF的23种设计模式:SOLID原则(上)

    本文分享自华为云社区<实践GoF的23种设计模式:SOLID原则(上)>,作者:元闰子. 前言 从1995年GoF提出23种设计模式到现在,25年过去了,设计模式依旧是软件领域的热门话题. ...

  2. 你懂SOLID原则吗?

    虽然SOLID原则不能时刻有效指导编码落地,理解这些原则背后的设计理念,让你迈出了第一步,接下来,你需要做的是在前进的路上,不断地进行编码实践.思考总结,将其内化. 做了这么多年的面向对象编程还是写出 ...

  3. 设计原则之 SOLID 原则

    以下是在极客时间<设计模式之美> 中的写学习笔记与心得的总结 在最初开始学设计模式的时候,总觉的要学的是那23种经典的设计模式.通过一段的学习,才突然领悟,设计原则才是王道,才是真正的内功 ...

  4. 设计模式中的solid原则

    好的代码不只为了完成现有功能,也会考虑后续扩展. 在结构设计上松耦合易读易扩展,在领域实现上高内聚不对外暴露实现细节不被外部干扰. 在众多项目的锤炼和对程序设计的不断追求,多年编程历程提炼出来的心得体 ...

  5. 软件设计模式 SOLID 原则 - SOLID Principles

    软件设计模式 SOLID 原则 - SOLID Principles SOLID is a mnemonic for five design principles intended to make s ...

  6. 设计模式 · SOLID原则

    SOLID原则是指: Simple Responsibility Principle,SRP单一职责原则 Open Close Principle,OCP开闭原则 Liskov Substitutio ...

  7. SOLID原则:解释和实例

    在面向对象编程中,SOLID是5个重要的设计原则的缩写.首先是由著名的软件大师Robert C.Martin (Bob 大叔)在Design Principles and Design Pattern ...

  8. 面向对象设计的七大原则 (包括SOLID原则)

    文章目录 概述 1. 单一原则 2. 里氏替换原则 3. 依赖倒转原则 4. 接口分隔原则(Interface Segregation Principle ,ISP) 5. 迪米特法则 (Law of ...

  9. 什么是SOLID原则(第3部分)

    让我们从最后一个 SOLID 原则开始吧,即依赖倒置原则(Dependency Inversion Principle,简称 DIP)(不要和依赖注入Dependency Injection ,DI ...

最新文章

  1. Rocketmq集群工作流程
  2. MySql 使用 EF Core 2.0 CodeFirst、DbFirst、数据库迁移(Migration)介绍及示例
  3. redis 模糊查找keys
  4. 刷抖音18.5G、看视频22.5G,国美通报员工上班摸鱼:回应来了
  5. ceisum 加载geojson,webgl 加载geojson数据没有贴地
  6. LVS详解(四)——LVS安装与配置命令
  7. 单独学java_自学Java的几大误区是什么
  8. [30期] 第一个项目总结-—数码黑店在这一年开张
  9. 反编译工具jd-gui、luyten学习使用
  10. 计算机制谱软件finale+2011应用教程,Finale2014(打谱软件)
  11. QT 代码添加QScrollArea
  12. Swing Copters摇摇欲坠游戏再次风靡全球,再次虐心,摔手机
  13. android 分屏模式适配,安卓适配分屏注意事项
  14. 汽车电瓶电压12V验证
  15. 磁盘阵列柜 和存储有什么区别
  16. CFG与PCFGs算法详解
  17. 0丢失之谜:解决Oracle中0开头小数被截断的问题
  18. python 灰度共生矩阵进行特征提取(代码)
  19. Vue3 jsonedit json页面编辑器
  20. 淘宝自动回复机器人配置手册——售前模板功能介绍

热门文章

  1. Redis集群理论知识
  2. 汇编程序.c到a.out的生命历程
  3. win7 linux 共享文件夹权限设置,samba 配置共享 win7 无权限访问
  4. 如何root安卓手机_你的手机你做主!免 ROOT 卸载安卓手机预装APP
  5. oracle表空间放在别的服务器,OracleXE的APEX可以访问同一服务器上的另一个Oracle数据库(10g),还是受限于XE数据库中的那些用户/表空间?...
  6. java字母反过来_java之字母反转~~ - Plight - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  7. Cpp 对象模型探索 / 类静态成员函数的调用方式
  8. 小明分享|LVGL调试日志
  9. php如何对数据类型检测 有哪些方法,php检测数据类型的几种方法汇总
  10. java kafka 消费_java编程之Kafka_消费者API详解