碰到了一道考题,实在不知道怎么做了,拿到这里来请教高人,是关于设计模式的中的组合(composite)模式.
说组合模式很流行,但也有不少缺点。所以组合模式通常和flyweight,bridge或visitor这三种模式一起使用。
请说出flyweight,bridge或visitor这三种模式各解决了composite模式的什么问题?如何解决的?

解决方案 »

  1.   

    Composite:将对象组合成树形结构以表示“部分-整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性。 
    Flyweight:运用共享技术有效地支持大量细粒度的对象。 
    Bridge:将抽象部分与它的实现部分分离,使它们都可以独立地变化。
    Visitor:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。