六种设计原则

作者: 和莱 | 来源:发表于2020-04-01 14:02 被阅读0次

设计模式是一种软件开发哲学,初次读来好像很容易理解,但是真正的领会并且能够用来指导软件开发我觉得是一个需要不断在项目中实践的过程。六大设计原则包括单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、开闭原则。这些原则在实际开发过程中需要与开发成本和技术水平等达到折衷,进行合理的取舍,并不是非要符合其中的某一项或者某几项的要求。

单一职责原则

定义

应该有且仅有一个原因引起类的变更,同样也适用于接口和方法。

优劣

1、类的复杂度降低,实现什么功能都有明确清晰的定义;
2、提高了可读性和可维护性,变更引起的风险降低;
3、可能会导致接口和类的数量的激增。

里氏替换原则

定义

只要父类可以出现的地方,子类就可以出现,并且子类出现不会引起异常和错误,使用者不知道是父类还是子类,包含四层含义:
1、子类必须完全实现父类的方法,这样在使用父类的场景中传入的如果是子类,那么调用父类的该方法应该不能引起异常和错误,如果子类不能够完整的实现父类的方法,那么不应该使用继承关系;
2、子类可以有自己的属性和方法,这并不与里氏替换原则违背;
3、覆盖或者实现父类方法时输入参数可以被放大,因为在将子类替换成父类使用时,如果输入一个父类所需参数,那么子类也是可以接受的。
4、覆盖或者实现父类方法时,输出结果可以被缩小,原因同上。

优劣

当子类当中有很多个性时,如果当中父类来用,便抹杀了子类的个性,如果不当作父类来用,则会增加了不必要的耦合关系。

依赖倒置原则

定义

高层次模块不应该依赖于低层次模块,两者都应该依赖于其抽象,细节依赖于抽象,抽象不依赖于细节。

优劣

依赖倒置原则可以减少类的耦合性,提高系统稳定性,降低并行开发的风险;

接口隔离原则

定义

接口尽量细化,不要臃肿,不要让一个类依赖不必要的接口。

衡量接口拆分原则

1、一个接口只服务于一个子模块或者业务逻辑,避免接口臃肿;
2、避免盲从,服务不同,业务场景不同,接口的拆分要求也不同。

迪米特原则

对其他类知道得越少越好,减少耦合。

开闭原则

对修改关闭,对扩展开放。

相关文章

网友评论

    本文标题:六种设计原则

    本文链接:https://www.haomeiwen.com/subject/popouhtx.html