面向对象设计原则
发布于2022-11-13 10:49:48,更新于2022-11-13 10:55:21,标签:java 文章会持续修订,转载请注明来源地址:https://meethigher.top/blog共七大设计原则
1 单一职责原则
一个对象应只包含单一的职责,并且该职责被完整地封装在一个类中。
一个类承担的职责越多,被复用的可能性就越低。
2 开闭原则
软件实体应当对扩展开放,对修改关闭。
就是指,软件实体应尽量在不修改原有代码的情况下进行扩展。
为了满足开闭原则,需要对系统进行抽象化设计,抽象化是开闭原则的关键。
3 里氏代换原则
在程序中,将父类对象,替换成他的子类对象,程序依然能跑得通。
因此,在程序中,尽量使用父类类型来对对象进行定义,而在真正运行时,再确定其子类类型,用子类对象来替换父类对象。
4 依赖倒转原则
模块与模块之间,不应该有直接依赖,他们都应该依赖于抽象。
即针对抽象层编程,而不是针对具体实现编程。只需要在使用时,将具体实现通过依赖注入的方式,注入到其他对象中。
依赖注入,是指当一个对象要与其他对象发生依赖关系时,采用抽象的形式来注入所依赖的对象。
常用注入有三种
- 构造函数注入
- setter注入
- 方法注入
5 接口隔离原则
对用户来说,接口定义不应该提供他们不需要的内容。如果粒度太小会导致接口泛滥,粒度太大会导致灵活性较差(出现冗余的实现、用户看到了不应看到的方法等),最合适的细化,是根据用户需求进行定制。
6 合成复用原则
优先使用对象组合,而不是通过继承来达到复用的目的。
由于组合或聚合关系,可以将已有的对象(也可称为成员对象)纳入到新对象中,使之成为新对象的一部分,因此新对象可以调用已有对象的功能,这样做可以使成员对象的内部实现细节对于新对象不可见。
7 迪米特法则
一个软件实体应当尽可能少地与其他实体发生相互作用。
打赏