赞
踩
针对设计模式中六大设计原则进行详细讲解
设计模式中的设计原则是指导我们如何设计出灵活、可复用、易于维护的软件系统的一系列准则。这些原则帮助开发者在面对复杂问题时,能够做出更加合理、高效的设计决策。核心的设计原则主要有六种:单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则和开闭原则。
提示:以下是本篇文章正文内容,下面案例可供参考
定义:应该有且仅有一个原因引起类的变更。也就是一个接口或者类只能有一个职责。
单一职责原则不仅适用于接口和类,也适用于方法。一个方法尽可能只做一件事,比如一个修改用户密码的方法,不要把这个方法放到“修改用户信息”方法中。
单一职责的好处
类的复杂性降低,实现什么职责都有清晰明确的定义;
可读性高,复杂性降低,可读性自然就提高了;
可维护性提高,可读性提高了,那自然更容易维护了;
变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助。
任何父类可以出现的地方,子类一定可以出现。子类不要重写父类的方法,可以扩展,不要修改父类的方法。
只要父类能出现的地方,子类就可以出现,而且替换为子类也不会产生任何错误或异常。但是有子类出现的地方,父类未必就能适应。
1. 子类必须完全实现父类的方法。
2. 子类可以有自己的个性。
3. 覆盖或实现父类的方法时,输入参数可以被放大。
4. 覆盖或实现父类的方法时,输出结果可以被缩小。
在项目中,采用里氏替换原则时,尽量避免子类的“个性”,一旦子类有“个性”,这个子类和父类之间的关系就很难调和了
要面向接口编程,不要面向实现编程。
依赖倒转原则是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。
依赖倒置原则在Java语言中的表现就是:
依赖倒置原则的本质就是通过抽象(接口或抽象类)使各个类或模块的实现彼此独立,不互相影响,实现模块间的松耦合。
要为各个类建立它们所需要的专用接口。
客户端不应该依赖它不需要的接口,一个类对另一个类的依赖应该建立在最小的接口上。
接口隔离原则要求接口的纯洁性,接口隔离原则时对接口进行规范约束,包含4层含义:
实践中根据以下几个规则来衡量:
只和你的朋友对接,不要和你朋友的朋友对接。
迪米特法则也称为最少知识原则(least knowledge principle),虽然名字不同,但描述的是同一个规则:一个对象应该对其他对象有最少的了解。通俗地讲,一个类应该对自己需要耦合或调用的类知道得最少,你(被耦合或调用的类)的内部是如何复杂都和我没有关系,那是你的事情,我就知道提供的这么多public方法,我就调用这么多,其他的我一概不关心。
迪米特法则的核心观念就是类间解耦,弱耦合,只有弱耦合了以后,类的复用率才可以提高。其要求的结果就是产生了大量的中转和跳转类,导致系统的复杂性提高,同时也为维护带来了难度。需要反复权衡,既做到结构清晰,又做到高内聚低耦合。
对扩展开放,对修改关闭。
开闭原则定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
开闭原则的的重要性:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。