设计模式的设计原则:
1)开闭原则(OCP)
对扩展开发,对修改关闭
解决问题的关键在于抽象化,对变化的部分进行抽象
2)里氏代换原则(LSP)
任何基类出现的地方,子类一定可以出现。
它是对开闭原则的有效补充,正如前面所述,实现开闭原则的关键步骤就是在于抽象化,而继承关系则是抽象化的具体实现,所以里氏代换原则则是对实现抽象化的具体步骤的规范。
一般情况下,违背了里氏原则的一定也违背了开闭原则,反之呢,则不一定。
3)依赖倒转原则
要依赖于接口,不要依赖于底层的具体实现
其实这个原则跟第一条的开闭原则有很多的相似性,实际上,他们之间是关系是目标和手段的关系,开闭原则是目前,而依赖倒装则是达成这一目标的手段。
4)接口隔离原则
提供尽可能小的单独接口,而不是提供大的总接口
5)组合/聚合复用原则
要尽量使用组合/聚合,而不是继承关系达到复用。
6)迪米特法则
应尽可能少的与其他实体发生相互作用,
1. 狭义的迪米特法则=====如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用。如果其中一个类需要调用其中一个类的方法的话,可以通过第三者来转发这个调用。(当然前提是这个第三者跟这两个类必须德直接通信)
2.广义上的迪米特法则=====在软件系统中,一好模块设计的好不好的最主要,最重要的一个标志就是该模块在多大的程度上将自己的内部数据和其他与实现相关的细节隐藏起来。
广义上的迪米特法则在类的设计上的体现有:
1)优先考虑将一个类设置为不变类
即使一个类是可变的,也谨慎的设置属性赋值方法(settXXX),除非是必须需要,否则不要为一个属性设置赋值方法
2)尽量降低一个类的访问权限
3)谨慎使用serializable
如果一旦将一个类设置为serializable的,那么就不能在新版本中修改这个类的内部结构,包括private的方法和句段。
4)尽量降低成员的访问权限、
广义上的迪米特法则在在代码层次上的实现:
1)控制局域变量的有效范围
也就说,能用局部变量就用局部变量了,使得变量的范围尽可能的小
相关推荐
设计模式六大原则详解 设计模式原则详解 设计模式原则详解
设计模式原则:单一职责原则,里氏替换,依赖倒转,接口隔离,开放关闭等等。
设计模式与设计原则.pdf
24种设计模式介绍与6大设计原则24种设计模式介绍与6大设计原则
设计模式体现的是软件设计的思想, 而不是软件技术, 它重在使用接口与抽象类来解决 各种问题。
设计模式 思想 模式 原则 设计模式 思想 模式 原则 设计模式 思想 模式 原则
android 24种设计模式介绍与6大设计原则
面向对象设计原则:面向对象设计原则、开闭原则、里氏替换原则、里氏替换原则、里氏替换原则
面向对象设计模式设计原则 自己下了看吧,,面向对象程序设计时候的 几个基本原则了
详细介绍设计模式的六大原则,有不足之处希望大家多指教。参考《设计模式之禅》
详细介绍了设计模式六大原则,配有示例代码和图片,有开闭原则,单一职责原则,里氏替换原则,依赖倒置原则,接口隔离原则,迪米特法则等等。
JAVA 24种设计模式介绍与JAVA6大设计原则
对设计模式六大原则的一点总结,欢迎免费下载。
讲解:GRASP (职责分配原则),GRASP是学习使用设计模式的基础;讲解:设计原则,设计原则是设计模式的灵魂。
详细描述全部(23种)设计模式与设计原则(6种)。 (一)设计原则包括: 1、开闭原则 2、里氏代换原则 3、依赖转换原则 4、接口隔离原则 5、合成/聚合复用原则 6、最少知识原则 (二)设计模式 1)工厂模式...
设计模式之里氏转换原则