本文参考来自:《Java设计模式:23种设计模式》

设计原则

在我们日常编程中,常见的面向对象设计原则有以下几大原则,能够帮助在面向对象过程设计出合理的结构。减少对象之间的耦合,方便业务扩展。

  • 开放封闭原则
  • 单一职责原则
  • 里氏替换原则
  • 依赖倒置原则
  • 接口隔离原则
  • 合成复用原则
  • 迪米特法则

开放封闭原则

开闭原则指的是: 软件实体应当对扩展开放,对修改关闭。这里的软件实体可以是:项目中划分出的模块、类与接口、方法。
开放封闭的含义是: 当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。
举个例子: 我们购买商品付款的时候有多种支付渠道如支付宝、微信。付款的流程是一致的,但付款方式是根据不同,我们可以定一个支付接口play();接口内部维护付款流程,外部实现支付接口来实现不同的付款方式,以后提供新的付款方式也不需要修改源代码了,所以他就满足了开放封闭原则。

单一职责原则

单一职责原则:这里的职责是指类变化的原因,单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分。
该原则提出对象不应该承担太多职责,如果一个对象承担了太多的职责,至少存在以下两个缺点:
一个职责的变化可能会削弱或者抑制这个类实现其他职责的能力;
当客户端需要该对象的某一个职责时,不得不将其他不需要的职责全都包含进来,从而造成冗余代码或代码的浪费。