6大设计原则之1--单一职责原则

单一职责:Single Responsibility Principle(RSP),应该且仅有一个缘由引发类的变动。(There should never be more than one reason for a class to change).
设计

那么RSP有什么好处呢:接口

  • 类的复杂性下降,实现什么都有明确清晰的定义ip

  • 可读性提升,复杂性下降了,可读性固然就高了ci

  • 可维护性提升,可读性提升了,维护也就容易了it

  • 改变引发的风险下降.若是单一职责定义的好,一个接口的改动只会影响相应的实现类,不会影响到其余接口,这对系统的可扩展性和可维护性都有很大帮助。class

单一职责原则很好理解,可是难在“职责”的定义上,缘由在于“职责”并无一个可量化的标准,一个类到底要负责哪些职责?这些职责要如何细分?细分以后的职责是否都要有对应的接口或类?这些都要从实际的项目去考虑,要考虑可变因素和不可变因素,还要考虑收益成本率,有些设计若是但从“学究”理论去考虑是有问题的,可是具体到现实的应用可能就足够了。
扩展

单一职责原则提出了编写程序的一个标准,用“职责”或“变化缘由”来衡量接口或类设计的是否优良,可是“职责”和“变化缘由”都是不可度量的,因项目而异,因环境而异程序

对于接口,咱们设计的时候要单一,可是对于类,就要综合考虑了。生搬硬套单一原则会使类的数量剧增,给维护带来很是多的麻烦。并且过度细分类的职责也会人为的增长系统的复杂度。
方法

单一职责原则,适用于接口和类,一样也适用于方法,让方法尽量简单。项目

相关文章
相关标签/搜索