java7大设计原则之二---单一职责原则、开放-封闭原则

一、单一职责原则(SRP):

  1、定义:应该有且仅有一种原因引起类的变更;

  2、好处:

    ● 类的复杂性降低,实现什么职责都有清晰明确的定义;

    ● 可读性提高,复杂性降低,那当然可读性提高了;

    ● 可维护性提高,可读性提高,那当然更容易维护了;

    ● 变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助。

  3、注意:

    单一职责原则提出了一个编写程序的标准,用“职责”或“变化原因”来衡量接口或类的设计类设计得是否优良,但是“职责”和“变化原因”都是不可度量的,因项目而异,因环境而异。

    对于接口,我们在设计的时候一定要做到单一,但是对于实现类就需要多方面考虑了。

    对于单一职责原则,我的建议是接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化,只能是尽量。

二、开放-封闭原则

  1、定义:对于扩展是开放的,对于更改是封闭的。

  具体就是:

  • 对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。
  • 对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改。

  2、具体的做法就是抽象方法封闭起来。开放继承可扩展。


  

原文地址:https://www.cnblogs.com/tengri-fighting/p/12661179.html