<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Calibri;">SRP<span style=""> </span></span></span><span style="">单一职责原则</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Calibri;"> </span></span></span><span style="">就一个类而言,应该仅有一个引起它变化的原因。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Calibri;">OCP<span style=""> </span></span></span><span style="">开放封闭原则</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Calibri;"> </span></span></span><span style="">软件实体(类、模块、函数等)应该对扩展是开放的(易于扩展),但是对于修改是封闭的(不应修改)。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Calibri;">LSP<span style=""> </span>Liskov</span></span><span style="">替换原则</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Calibri;"> </span></span></span><span style="">子类必须能够替换掉它们的基类。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Calibri;">DIP<span style=""> </span></span></span><span style="">依赖倒置原则</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Calibri;"> </span></span></span><span style="">抽象不应该依赖于细节,而细节应该依赖于抽象。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Calibri;">ISP<span style=""> </span></span></span><span style="">接口隔离原则</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Calibri;"> </span></span></span><span style="">不应该强迫用户依赖于他们不用的方法。接口属于用户,不属于它所在的类层次结构。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Calibri;">REP<span style=""> </span></span></span><span style="">重用发布等价原则</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Calibri;"> </span></span></span><span style="">重用的粒度就是发布的粒度。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Calibri;">CCP<span style=""> </span></span></span><span style="">共同封闭原则</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Calibri;"> </span></span></span><span style="">包中所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对于其他的包不造成任何影响。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Calibri;">CRP<span style=""> </span></span></span><span style="">共同重用原则</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Calibri;"> </span></span></span><span style="">一个包中所有类应该是共同重用的。如果重用了包中的一个类,那么就要重用包中的所有类。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Calibri;">ADP<span style=""> </span></span></span><span style="">无环依赖原则</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Calibri;"> </span></span></span><span style="">在包的依赖关系图中,不允许存在环。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Calibri;">SDP<span style=""> </span></span></span><span style="">稳定依赖原则</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Calibri;"> </span></span></span><span style="">朝着稳定的方向进行依赖。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Calibri;">SAP<span style=""> </span></span></span><span style="">稳定抽象原则</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style=""><span style="font-family: Calibri;"> </span></span></span><span style="">包的抽象程度应该和其稳定程度一致。</span></span></p>
分享到:
相关推荐
Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip ...
敏捷软件开发原则模式与实践读书笔记3.pdf
FPGA自学笔记——设计与验证公开版;十分适合初学者使用
——————————————————————————————————————————————
读书笔记——AGoodManIsHardToFind.pdf
【Python入门自学笔记专辑】——面向对象编程 前言 面相对象是Python的重要特性,继承了C++的类风格,在Python中的一切数据类型都是面向对象的。本章主要介绍Python的面向对象编程。 面向对象: 什么是OOP...
自己草草整的读书笔记,这本书虽然一百多页,但是给的信息量还不少,对于开发中的界面设计过程有很好的参考作用。读书笔记主要是记录了结果,原书对于原因有阐述,建议有兴趣的同学看看原书。
面向对象设计原则和23个设计模式的笔记: 面向对象的三个特征的个人理解; 面向对象的核心的6个设计原则的个人理解; 四人帮的23个设计模式的个人理解; 绝对原创,绝对经典.给大家共享下.
Talend学习笔记2——mysql文件导入到HDFS
zigbee学习笔记2——添加自己的任务 网络层数据服务
希赛——软件设计师考试笔记 软件设计师考点。。 软件设计师真题解析。
关于软件开发方面的书籍真的不少,但是当你实际开发中想要用上你书本的知识的时候将有很大差距,本书就是将过程方法、实践及设计原则有机的结合起来让他们发挥最大的效用
操作系统复习笔记2——进程管理,涵盖进程、线程、CPU调度、进程同步和死锁
arm体系结构与编程 读书笔记——Page72
面向对象与设计模式基础笔记,介绍了面相对象基础和几种设计模式。
个人整理的嵌入式系统设计师教程读书笔记——帮我低空飞过考试.doc
《嵌入式Linux C语言应用程序设计》读书笔记《嵌入式Linux C语言应用程序设计》读书笔记《嵌入式Linux C语言应用程序设计》读书笔记《嵌入式Linux C语言应用程序设计》读书笔记《嵌入式Linux C语言应用程序设计》...
Cocos2d-x学习笔记——完全掌握C++ API与游戏项目开发.zip
Python学习笔记——对象和类
面向对象程序设计C++听课笔记,依据中山大学博士的视频讲授和浙大副教授的讲课记录。