设计模式分析

聚合,层次设计模式:适用于层次关系
例子:
public   class  Fee
{
    
private   float  valuee  =   0 ;
    
    
public   string  GetName()
    {
        
// 返回费用的名称
    }
    
    
public   bool  HasChildren()
    {
        
// 该费用类型是否有子类型
    }
    
    
public  Fee[] GetChildren()
    {
        
// 返回该费用类型的子类型
    }
    
    
public   float  GetValue()
    {
        
// 返回费用的金额
         if  (HasChildren())
        {
            
float  f  =   0 ;
            Fee[] children 
=  GetChildren();
            
for  ( int  i  =   0 ; i  <  children.Length; i  ++ )
            {
                f 
+=  children[i].GetValue();
            }
            
return  f;
        }
        
else
        {
            
return  valuee;
        }
    }
}

组合模式可以很精确的反映销售网点间的聚合关系,并且对查询和统计提供了非常一致的接口,调用者不必区分具体的网点类型。类似这样的情况,当我们发现需求中一些对象具有聚合关系,并且我们希望对他们做一些共同的事情,就可以采用组合模式。


设计模式分析

你可能感兴趣的:(设计模式)