Composite模式(组合模式)

这个模式是很常见的一种模式,一般来讲这个模式主要用于将对象的组合,比如:树状目录的组合,一般我们一个聚合节点组合了多个其他的子节点,而子节点同时也可以作为一个聚合节点,这样层层嵌套,组合成为树状目录。那么Composite模式就是来解决这类组合的问题的。

先看一下类图:

也谈Composite模式

很明显,IComponent作为Component和Composite的公用接口,他们共同拥有一样的行为,通俗的说就是,单独的Component可以作为一个组件,一个Composite也能作为一个组件。

注意:这里用接口明显不如抽象类好。我们知道,接口是代表相似的功能,抽象类是说明同属一个东西。这里他们都是组件,而不是他们都具有Add,Remove的功能(Component就没有实现Add这个功能)。

下面我们详细来看IComponent这个接口:

 

    public interface IComponent<T>
    {
        T Name { 
getset; }
        
void Add(IComponent<T> item);
        IComponent
<T> Remove(T item);
        IComponent
<T> Find(T item);
        
void Display();
    }

相关文章:

  • 2022-12-23
  • 2022-01-08
  • 2022-02-08
  • 2021-08-06
  • 2021-06-28
  • 2021-07-15
  • 2021-12-04
  • 2021-06-22
猜你喜欢
  • 2021-12-11
  • 2021-11-18
  • 2021-05-09
  • 2021-11-15
  • 2022-01-19
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案