(单一职责):
一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。
优势:
降低类的复杂度。
提高类的可读性,代码的复用性,灵活性以及系统的可维护性.
注意:
职责划分太细,会导致接口和实现类的剧增,反而提高了复杂度,降低了维护度,违背了初衷.
需要进行 权衡利弊。 问题思考(划分): 生活例子:可以吃的东西(一个Eat吃类) 包含 (苹果,香蕉,梨子,辣条,薯片,饼干) 如何划分????
一个DEMO: 吃的东西.
再举一个例子:
比如一个网络类(里面有 登录,注册,里面居然写了很多和梯形校正相关的东西). (这样就违背了单一职责)
总结:
最具有争议的单一职责,是因为受到很多因素制约,比如代码逻辑量,时间,项目成本等等,尽量权衡吧.
接口做到单一职责,类的设计尽量做到只有一个原因引起变化.