DRY原则
DRY原则(Don’t Repeat Yourself,不做重复的事),旨在复用,实现系统的扩展性,领悟其精髓即可。
从系统层面讲,IT系统SOA之后,系统根据服务进行拆分,使复杂业务逻辑内聚,增强了扩展性。
从系统设计讲,通过maven管理各组件jar,将jar对功能进行拆分,使得系统内部业务逻辑内聚,降低组件之间的依赖,实现了扩展性。
从系统开发讲,将代码进行拆分,除了复用扩展意外,从维护性考量也是很合理的。
至于王垠的《DRY原则的危害》,我认为有些片面,王垠举的例子本身就不恰当,论据不恰当,那么显然观点也就站不住脚。看过java设计模式的人都知道,要“多用组合、少用继承”,A、B继承C的例子有什么意义呢。
另外从实际开发,就会发现很多初级开发工程师,最喜欢做的事情就是复制、粘贴,哪些做软件外包的开发工程师为了完成任务更是没有节制,高级开发工程师为了应对进度也是忘了初心。DRY原则本身没有错,不是高手潜移默化的遵守,那么最好的执行力,就是让开发工程师必须遵守,让他们形成习惯。最终达到随心所欲的境界。