【书名】架构整洁之道
【作者】Robert C.Martin(Bob大叔) 从1970年编程至今,他是cleancoders.com的联合创始人,他还是Uncle Bob consulting LLC的创始人,他现任8th Light,inc.的“首席匠人”一职。

【读书笔记】
学习了三个基本原则
REP:复用/发布等同原则
CCP:共同闭包原则
CRP:共同复用原则

软件复用的最小粒度应等同于其发布的最小粒度

我们应该将那些会同时修改,并且为相同目的而修改的类放在同一个组件中,而将不会同时修改,并且不会为了相同目的而修改的那些类放到不同的组件中,简短概括就是:将由于相同原因而修改,并且需要同时修改的东西放在一起,将由于不同原因而被修改,并且不同时修改的东西分开。

不要强迫一个组件的用户依赖他们不需要的东西,简而言之:不要依赖不需要用到的东西。

上述三个原则存在相互竞争关系,REP为复用性而组合,CCP为维护性而组合,CRP为避免不必要的发布而切分,简而言之:只关注REP和CRP即使简单的变更也会影响很多组件,只关注CCP和REP会导致很多不必要的发布,优秀的软件架构应该在三角张力区域定位一个目前团队最适合的位置,同时根据时间不断调整。使组件的构成安排随着项目的重心不同,以及研发性与复用性的不同而不断演化。
展开
小小纽扣于2021-04-20 15:47发布的图片
评论