设计模式 构造器

Design Pattern - Builder

一个制造个人电脑的通用的构造器:

public class Builder
{
    
public virtual String BuildCPU()
    
{
        
return "Standard CPU";
    }

    
public virtual String BuildDisplay()
    
{
        
return "Standard Display";
    }

    
public virtual String BuildKeyboard()
    
{
        
return "Standard Keyboard";
    }

    
public virtual String BuildCDRom()
    
{
        
return "Standard CDRom";
    }

}

dell / inter 各自的个人电脑配置器:
public class DellBuilder : Builder
{
    
public override String BuildDisplay()
    
{
        
return "Dell Display";
    }

    
public override String BuildKeyboard()
    
{
        
return "Dell Keyboard";
    }

}
public class InterBuilder : Builder
{
    
public override String BuildCPU()
    
{
        
return "Inter P4 CPU";
    }

}
配置出来的个人电脑(主机部分)产品:
public class PCProduct
{
    
private String cpu, cdrom, keyboard;
    
public PCProduct(String c, String d, String k)
    
{
        
this.cpu = c;
        
this.cdrom = d;
        
this.keyboard = k;
    }

    
public void Show()
    
{
        Console.WriteLine(
"{0}, {1}, {2}", cpu, cdrom, keyboard);
    }

}

产生电脑主机产品的指导者:

public class Director
{
    
public PCProduct Construct(Builder b)
    
{
        
return new PCProduct(b.BuildCPU(), b.BuildDisplay(), b.BuildKeyboard());
    }

}
测试程序:
public static void Main()
{
    Builder b 
= new DellBuilder();
    Director d 
= new Director();
    PCProduct p 
= d.Construct(b);
    p.Show();
    b 
= new InterBuilder();
    p
= d.Construct(b);
    p.Show();
    Console.ReadLine();
}

Builder Demo
原文地址:https://www.cnblogs.com/Dabay/p/363112.html