index:
1,单一职责原则
2,开关原则
3,里氏替换原则
4,依赖倒置原则
5,接口隔离原则
6,迪米特法则
1.单一职责原则(策略模式):一个类或者方法只能做一件事情,
应用:在构造对象时,将对象的不同职责分离到两个到多个类中,确保引起该类变化的原因只有一个。
例子:在我们的状态模式中,每个状态都有与之相对应的行为。这就很好的体现了单一职责原则。
优点:提高内聚,减少耦合度。
缺点:可能会导致资源文件过多,而管理不便。
2.(Open-close-principle 开关原则)体现的模式:策略模式,装饰器模式,模板模式
对扩展是开放的,对修改是封闭的,即在不修改源码的情况下对其进行扩展,
我们的面向接口编程,这就有效的体现了这一原则。
比如说我们的一个项目需要进行增加一个功能。就增加一个实现类就可以。不需要修改它的源代码。
好处:提高了灵活性,可重用性,可维护性。
难点:OCP的关键是抽象父类,或者接口,创建正确的抽象发费时间和精力,也增加了软件设计的复杂性。
正确的做法:只对程序中频繁变化的做出抽象。
3.里氏替换原则(LSP)(工厂模式)
定义:用子类去替换父类。即凡是父类能够出现的地方,子类就一定能够出现,反之则不成立。
工厂模式就很好的实现了这一原则,比如说dao层,父类并不知道是生成那一个子类的对象。
而我们的子类是知道它实现的是那个接口。
这样子类替换就非常的容易。可以在无需修改的情况下进行修改。
LSP使OCP成为可能的主要原则之一,
4.依赖倒置原则:(模板模式)
定义:高层模板不依赖于底层模板,它们都应该依赖于抽象。
抽象不应该依赖于细节,细节应该依赖于抽象。
也就是说它父类不应该依赖子类的东西。
例子:拿我们项目中来说,比如说dao,和dao的实现,我们dao层不应该知道dao实现的具体的操作。
如果dao层需要修改的话,那么还会影响到dao的实现,这样耦合度就非常的高。
5.接口隔离原则:(观察者模式)
定义:不要强迫客户依赖于它们不用的方法。
让一个类对另外一个类的依赖性应当是建立在最小的接口上的。
例子:如果我们一个类需要一些方法,避免实现方法过多的接口。
作用:避免接口污染
一个接口代表一个角色,不应当将不同的角色都交给一个接口。
6.迪米特原则 (体现了门面模式)
定义:又叫最少知识原则,一个对象对其他对象应该有尽可能少的了解,这是一个送耦合的的法则。
例子:我们在程序中通常把能私有化的属性,方法,都要尽量的私有化。
这样我们修改一些模板对其他模板的影响就少些,使代码也更加安全。
我们可以使用门面模式来实现这一原则,门面模式就是隐藏子系统的复杂性。与客户程序打交道
只有一个类而已。
缺点:在系统中造出大量的小方法,管理不要方便。
分享到:
相关推荐
而在面向对象的设计里面,可维护性复用都是以面向对象设计原则为基础的,这些设计原则首先都是复用的原则,遵循这些设计原则可以有效地提高系统的复用性,同时提高系统的可维护性。 面向对象设计原则和设计模式也是...
包括:系统总体设计原则,业务应用支撑平台设计原则,共享交换区数据库设计原则,档案管理系统设计原则,总集成设计原则 ,系统及应用支撑环境设计原则,安全保障体系设计原则,应用支撑平台设计原则 ,等等数十种...
emi设计原则 emi设计原则 emi设计原则 emi设计原则emi设计原则
高速PCB EMC设计的47个原则二、PCB设计原则归纳 原则1:PCB时钟频率超过5MHZ或信号上升时间小于5ns,一般需要使用多层板设计。 原因:采用多层板设计信号回路面积能够得到很好的控制。 原则2:对于多层板,关键...
JAVA 24种设计模式介绍与JAVA6大设计原则
24种设计模式介绍与6大设计原则24种设计模式介绍与6大设计原则
详细描述全部(23种)设计模式与设计原则(6种)。 (一)设计原则包括: 1、开闭原则 2、里氏代换原则 3、依赖转换原则 4、接口隔离原则 5、合成/聚合复用原则 6、最少知识原则 (二)设计模式 1)工厂模式...
android 24种设计模式介绍与6大设计原则
11个重要的数据库设计原则
UML简介与面向对象的设计原则 建模的重要性? 如果你想搭一个狗窝,你备好木料、钉子和一些基本工具(如锤子、锯和卷尺) ,就可以开始工作。从制定一点初步的计划到完成一个满足适当功能的狗窝,你 可能不用别人...
面向对象设计原则:面向对象设计原则、开闭原则、里氏替换原则、里氏替换原则、里氏替换原则
面向对象的设计原则 单一职责原则 开闭原则 里氏替换原则 依赖倒置原则 接口分离原则 迪米特法则 合成复用原则
网页设计原则.txt格式 网页设计前的必读之物 设计原则是非常重要的!!!
EMI设计原则及电磁兼容设计原则有助于在电路板设计时候的抗干扰性能
oracle数据库索引设计原则. 数据库索引设计原则.
面向对象设计模式设计原则 自己下了看吧,,面向对象程序设计时候的 几个基本原则了
各种给力,软件设计原则,设计软件原则,原则设计软件,阮设计原则