面向对象设计原则
什么的代码设计是好的设计,设计要遵循什么的原则,有没有方法可寻。下面给大家介绍一下面向对象语言中设计有哪些原则。
设计的目的是什么?
对于面向对象语言来说设计的终极目的是“高内聚,低耦合”,那“高内聚,低耦合能带来什么好处呢?有如下几点好处:
易扩展-易于增加新功能
更强壮-不容易被粗心的程序员破坏
可以移植-能够在多样的环境下运行
更简单-容易理解、容易维护
如何才能达到上述设计的目标,有人总结出了面向对象的几个设计原则(OCP):
开闭原则(OCP)
对扩展是开发的(Open for extension)
对于修改是关闭的(Closed for modification)
简而言之:不需要修改软件实体(类、模块、函数等),就应该能实现功能的扩展,实现的关键就是抽象
2.依赖倒置原则(DIP)
高层模块不能依赖与低层模块,而是大家都依赖于抽象
DIP倒置了什么?
模块或包的依赖关系
开发的顺序和职责
软件的层次化
高层不依赖于低层
高层被重用
3.liskov替换原则(
若对每个类型T1的对象O1,都存在一个类型T2的对象O2,使得在所有针对T2编写的程序P中,用o1替换O2后,程序p的行为功能不变,则T1是T2的子类型
简而言之:子类必须能够替换掉它的父类
4.单一责任原则(SRP)
一个类,只能有一个引起它变化的原因
5.接口分离原则(ISP)
不要强迫客户程序依赖它们不需要的方法
评论