[设计模式之禅笔记] 1. 单一职责原则

There should never be more than one reason for a class to change.


1. 定义职责单一的接口。

2. 定义类实现相关接口。 

3. 因为基于面向对象的思想, 我们对外公布的是接口而不是实现类,因此实现多个接口的类,虽然实际上会因为不同职责的接口变化而引起变化,就权当作它并不违背单一职责原则。

4. 单一职责原则也适用于方法。 比如之前ePoster项目中的为LED提供的API中:

getColor()

setColor(color)

getState()

setState(on)

以上4个是符合单一职责原则的。

但是最初提供的setState(on, color)则并不是一个好的写法。 该方法的职责不清晰,不单一。


真正完全基于单一职责原则进行类的设计,不太现实。 但是要做到接口的单一职责。


你可能感兴趣的:(设计模式笔记)