OO Design之SOLID原则
- 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原则相关推荐
- 实践GoF的23种设计模式:SOLID原则(上)
本文分享自华为云社区<实践GoF的23种设计模式:SOLID原则(上)>,作者:元闰子. 前言 从1995年GoF提出23种设计模式到现在,25年过去了,设计模式依旧是软件领域的热门话题. ...
- 你懂SOLID原则吗?
虽然SOLID原则不能时刻有效指导编码落地,理解这些原则背后的设计理念,让你迈出了第一步,接下来,你需要做的是在前进的路上,不断地进行编码实践.思考总结,将其内化. 做了这么多年的面向对象编程还是写出 ...
- 设计原则之 SOLID 原则
以下是在极客时间<设计模式之美> 中的写学习笔记与心得的总结 在最初开始学设计模式的时候,总觉的要学的是那23种经典的设计模式.通过一段的学习,才突然领悟,设计原则才是王道,才是真正的内功 ...
- 设计模式中的solid原则
好的代码不只为了完成现有功能,也会考虑后续扩展. 在结构设计上松耦合易读易扩展,在领域实现上高内聚不对外暴露实现细节不被外部干扰. 在众多项目的锤炼和对程序设计的不断追求,多年编程历程提炼出来的心得体 ...
- 软件设计模式 SOLID 原则 - SOLID Principles
软件设计模式 SOLID 原则 - SOLID Principles SOLID is a mnemonic for five design principles intended to make s ...
- 设计模式 · SOLID原则
SOLID原则是指: Simple Responsibility Principle,SRP单一职责原则 Open Close Principle,OCP开闭原则 Liskov Substitutio ...
- SOLID原则:解释和实例
在面向对象编程中,SOLID是5个重要的设计原则的缩写.首先是由著名的软件大师Robert C.Martin (Bob 大叔)在Design Principles and Design Pattern ...
- 面向对象设计的七大原则 (包括SOLID原则)
文章目录 概述 1. 单一原则 2. 里氏替换原则 3. 依赖倒转原则 4. 接口分隔原则(Interface Segregation Principle ,ISP) 5. 迪米特法则 (Law of ...
- 什么是SOLID原则(第3部分)
让我们从最后一个 SOLID 原则开始吧,即依赖倒置原则(Dependency Inversion Principle,简称 DIP)(不要和依赖注入Dependency Injection ,DI ...
最新文章
- Rocketmq集群工作流程
- MySql 使用 EF Core 2.0 CodeFirst、DbFirst、数据库迁移(Migration)介绍及示例
- redis 模糊查找keys
- 刷抖音18.5G、看视频22.5G,国美通报员工上班摸鱼:回应来了
- ceisum 加载geojson,webgl 加载geojson数据没有贴地
- LVS详解(四)——LVS安装与配置命令
- 单独学java_自学Java的几大误区是什么
- [30期] 第一个项目总结-—数码黑店在这一年开张
- 反编译工具jd-gui、luyten学习使用
- 计算机制谱软件finale+2011应用教程,Finale2014(打谱软件)
- QT 代码添加QScrollArea
- Swing Copters摇摇欲坠游戏再次风靡全球,再次虐心,摔手机
- android 分屏模式适配,安卓适配分屏注意事项
- 汽车电瓶电压12V验证
- 磁盘阵列柜 和存储有什么区别
- CFG与PCFGs算法详解
- 0丢失之谜:解决Oracle中0开头小数被截断的问题
- python 灰度共生矩阵进行特征提取(代码)
- Vue3 jsonedit json页面编辑器
- 淘宝自动回复机器人配置手册——售前模板功能介绍
热门文章
- Redis集群理论知识
- 汇编程序.c到a.out的生命历程
- win7 linux 共享文件夹权限设置,samba 配置共享 win7 无权限访问
- 如何root安卓手机_你的手机你做主!免 ROOT 卸载安卓手机预装APP
- oracle表空间放在别的服务器,OracleXE的APEX可以访问同一服务器上的另一个Oracle数据库(10g),还是受限于XE数据库中的那些用户/表空间?...
- java字母反过来_java之字母反转~~ - Plight - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
- Cpp 对象模型探索 / 类静态成员函数的调用方式
- 小明分享|LVGL调试日志
- php如何对数据类型检测 有哪些方法,php检测数据类型的几种方法汇总
- java kafka 消费_java编程之Kafka_消费者API详解