THEEYE 2011-06-30
让收集用户信息和处理用户行为分开
有且仅有一个原因引起类的变更。(There should never be more than one reason for a class to change)
单一职责原则最难的地方就是职责。一个职责一个接口,但问题是“职责”没有一个量化的标准,一个类要负责哪些职责,这些职责怎么细化?细化后是不是都要一个类或者一个接口?如果生搬硬套会引来类的剧增,增加维护的难度。所以我们要联系实际项目,考虑工期,成本,成员的技术,硬件情况等诸多的原因。
类的复杂度降低,可读性提高,可维护性提高,降低变更的风险