设计模式(一):单一职责原则
2013-06-19 21:23
218 查看
Single Responsibility Principle(SRP): There should never be more than one reason for a class to change.
单一职责原则的定义:应该有且只有一个原因导致类的变更。
按照字面意思理解,一个类应该只有一个功能才符合单一职责原则。
单一职责原则的好处:
1.因为只有一个职责,类的复杂度会降低;
2.低复杂度的类,使得可读性提高;
3.因为类的的低复杂性,使得程序可维护性提高;
4.降低了类之间的耦合度,符合开放封闭原则。减小了需求变化对设计的影响。
实际上,这个原则可以看做一种思想。方法或函数最好也应用符合单一职责。这样,当你把自己开发的模块接口公布给团队中的其他人的时候,让对方可以从方法或函数名称大概猜测出其功能,这一点微软的API做的非常不错。相应的,如果你开发了一个非常复杂的函数,其使用一定不是方便的(至少需要很长的接口说明)。
就我个人的理解,单一职责与越来越细化的社会分工有相似之处。一个非常复杂的生产过程,组成它的每一个步骤确实非常简单而可快速完成的。但是,函数调用深度对程序性能的影响,是软件设计人员需要考量的因素。
总结:单一职责原则在理论上是非常正确的,但是在具体实现中,需要考量多种因素(工期,程序复杂度,成本等)。
单一职责原则的定义:应该有且只有一个原因导致类的变更。
按照字面意思理解,一个类应该只有一个功能才符合单一职责原则。
单一职责原则的好处:
1.因为只有一个职责,类的复杂度会降低;
2.低复杂度的类,使得可读性提高;
3.因为类的的低复杂性,使得程序可维护性提高;
4.降低了类之间的耦合度,符合开放封闭原则。减小了需求变化对设计的影响。
实际上,这个原则可以看做一种思想。方法或函数最好也应用符合单一职责。这样,当你把自己开发的模块接口公布给团队中的其他人的时候,让对方可以从方法或函数名称大概猜测出其功能,这一点微软的API做的非常不错。相应的,如果你开发了一个非常复杂的函数,其使用一定不是方便的(至少需要很长的接口说明)。
就我个人的理解,单一职责与越来越细化的社会分工有相似之处。一个非常复杂的生产过程,组成它的每一个步骤确实非常简单而可快速完成的。但是,函数调用深度对程序性能的影响,是软件设计人员需要考量的因素。
总结:单一职责原则在理论上是非常正确的,但是在具体实现中,需要考量多种因素(工期,程序复杂度,成本等)。
相关文章推荐
- 设计模式-单一职责原则
- 设计模式六大原则(1):单一职责原则
- 小王和你一起学习系列之设计模式-单一职责原则
- 模式设计原则----单一职责原则
- 设计模式六大原则(1):单一职责原则
- 设计模式六大原则(1):单一职责原则
- 设计模式学习之——六大设计原则之一:单一职责原则
- 设计模式六大原则(1):单一职责(SRP)
- 【架构师之路】-【01设计模式】-02设计原则之单一职责原则
- 设计模式 单一职责原则SRP
- 设计模式六大原则(1):单一职责原则
- 设计模式六大原则之(一) 单一职责原则
- 设计模式六大原则(1):单一职责原则
- 设计模式个人总结,单一职责原则总结
- 设计模式:单一职责原则
- java设计模式-单一职责模式,依赖倒转原则
- 设计模式六大原则(1):单一职责原则
- 设计模式六大原则之单一职责原则
- 转 设计模式六大原则(1):单一职责原则
- 设计模式学习之——六大设计原则之一:单一职责原则