04-软件设计七大原则-单一职责原则
本文来了解一下什么是单一职责原则。
定义
假设一个类(class)中有两个职责,一个是指责A,一个是指责B,当我们修改A时,可能会导致B出现问题。就是说,职责A和职责B发生改变时都会影响这个class,从而使这个class可能发生变更。
解决方案:对于这两个指责分别建立class1和class2,使他们互相不影响。这个原则就是单一职责原则。
即一个类/接口/方法只负责一项职责。
好处:降低类的复杂度,提高类的可读性,提高系统的可维护性,降低变更引起的风险。
例子
单一职责原则是很好理解的,下面配以代码举一个小例子。
比如有一个类,描述的是鸟移动的模式,正常情况下鸟是飞的,但是如果传进来一只不会飞的鸟咋办呢,比如鸵鸟,这就需要判断一下了:
1 | public class BirdMoveMode { |
这个时候,最好是将这个类分离成两类,一个是会飞的,一个是走的:
1 | public class FlyBird { |
对于接口和方法也一样,接口里面的方法声明分开;方法重载来分开。