言成言成啊 | Kit Chen's Blog

面向对象设计原则

发布于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 迪米特法则

一个软件实体应当尽可能少地与其他实体发生相互作用。

发布:2022-11-13 10:49:48
修改:2022-11-13 10:55:21
链接:https://meethigher.top/blog/2022/design-standard/
标签:java 
付款码 打赏 分享
Shift+Ctrl+1 可控制工具栏