日期:2011-03-13  浏览次数:20412 次

例子很好办,首先说组成模式。组成模式用来做这样的事情:你需要把一堆东西组装在一起,让他们形成一个整体。但是呢,你又希望无差别的访问他们,也就是说,当你访问他们的时候,在你看来他们都是一样的。没有区别。但是他们实际上又按照某种规则或者约束有秩序的结合在一起。
组成模式的最简单的例子就是bbs的帖子。bbs的帖子,在你点击他们的时候他们是没有差别的,但是实际上他们有层次关系,有回复关系,他们通过这些关系组合在一起。
组成模式的原理是:将父类的实例作为子类的一个成员。子类通过对父类实例的操作来决定自己同父类的组装方式。
当你访问这些类的时候,都通过父类的公共方法来进行访问。这个时候他们是没有差别的。就好像bbs,子贴保留一个对父贴的引用。
另外,组成模式也可以用于其它方面,而不仅仅是层次组合方式。这取决于父类实例同子类的关系