C++ 设计模式 - 6大设计原则之单一职责原则

序:

《设计模式之禅》一书源于一位大牛所赠,第一遍看的时候总不能得其精髓,特此第二次读的时候写下自己的读后感以便于分享给大家

只要能给需要的技术人员一点帮助就是极好极好的

正文:

单一职责原则的定义:There should never be more than one reason for a class to change。大致翻译过来是:一个类有且只有一个原因引起类的变更


单一职责的优点:

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

2. 可读性提高,复杂性降低。

3. 可维护性提高

4. 变更引起的风险降低,变更是必不可少的,如果接口的单一职责做的好,一个接口修改只对相应的实现类有影响,

对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助


观点: 接口必须单一,但是实习类可以多方面考虑了。原则是死的,人是活的。


单一职责适用于接口、类、同时也适用于方法。

比如有人写了: void changeUser(string name, string telPhone, string passWord);

要是遇到这种方法第一件要做的事情就是重写。

比较好的方案就是:

void changeUserName(string name);

void changeTelPhone(string telPhone);

void changePassWord(string passWord);


总结:单一职责很优秀,但是很难完全做到。建议:接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变更。

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