@H_403_2@ 刚重构完,深感clean code 之美,令吾陶醉,总结下吧。O(∩_∩)O
面向对象设计原则,有时这些原则之间相互依存(如OCP 与 DIP),有时又有点矛盾(如OCP 与 ISP)
虽只浅浅学习了SRP OCP LSP DIP ISP ,但还是被这思想深深震撼。
就一个类而言,应该仅有一个引起它变化的原因
为什么要SRP?
@H_403_2@ 情景:如果有多个动机耦合在一起,则一个动机可能会削弱或者抑制这个类完成其他职责的能力。
- 情景一:表面上可以耦合在一起,但当某一个功能不断复杂化。
- 情景二:两功能互不相关。
实际场景 :
@H_403_2@系统由许多不同的组件组成,每一个组件个负责一块
@H_403_2@诸如日志、事务管理和安全这样的系统服务经常融入到自身具有核心业务逻辑的组件中去。
举个栗子:@H_403_2@《骑士和诗人》(骑士要出发时候,诗人要吟诗;骑士回来时候,诗人也要吟诗) ——————————————————————————————来自《Spring实战》