序:
《设计模式之禅》一书源于一位大牛所赠,第一遍看的时候总不能得其精髓,特此第二次读的时候写下自己的读后感以便于分享给大家
只要能给需要的技术人员一点帮助就是极好极好的
正文:
单一职责原则的定义: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);
总结:单一职责很优秀,但是很难完全做到。建议:接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变更。