微观上遵循这样的路径:Inheritance->object composition->Generic;
Pattern:
通过模式的重用解决各种各样的问题。
宏观上:
1) 基于容器Container方式:
例如Servlet Container. 系统开发商已经构建了对象之间的关系,这些关系是设计的核心。应用开发人员在使用时采用继承的方式,需要override其中的一些重要方法。需求的变化就用这些重载来处理。 重用的是系统开发已经设计好的对象之间的复杂关系。这个方式在实际中有大量应用。
2) 基于Attribute(Annotation):
目前的趋势是采用注解。例如Spring MVC,WCF等等。这个方式非常友好,与系统之间实现了松耦合,这有点类似于微观的对象组成方式。
应用开发人员的重用一般到模式这个级别。如果能到容器或者注解则无疑是高手。