今天,稍微参悟了下 spring框架。
里面提到了 3种类、对象解耦的方式:
接口注入;setter注入;构造注入;
前一种:比较倾向与纯面向对象的设计思想,主要通过接口来实现类、对象两两之间的耦合问题。
在真正实现方案时,比较偏向于应用设计模式来解决一切对象之间的问题,对反射应用不是很多。
后两种:比较倾向与通过文档和反射来解决一切耦合问题,当然也用到不少模式,但模式不会再是那种嵌套,将多个模式的变化点,放到一点的方式,更灵活的用XML来格格击破,更有点像游击战。
以前对面向对象的分析、设计、编码实现有点极端的看法,现在感觉面向对象只不过是一种工具,至于用什么的方式来实现,并不重要,重要的是我们有没有真正的处理好这个工具中类、对象等两两的关系,真正的实现解耦,高内聚、可复用的问题。
一句话:白猫、黑猫能捉住老鼠的猫 ,就是好猫。不用考虑什么方式,我只重视最终的结果,看问题有没有全部解决。