• 设计模式 构造器


    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
  • 相关阅读:
    【bzoj1029】[JSOI2007]建筑抢修
    【bzoj2748】[HAOI2012]音量调节
    【bzoj1041】[HAOI2008]圆上的整点
    【bzoj2743】[HEOI2012]采花
    【bzoj1034】[ZJOI2008]泡泡堂BNB
    【bzoj1260】[CQOI2007]涂色paint
    【bzoj2728】[HNOI2012]与非
    【bzoj2003】[Hnoi2010]Matrix 矩阵
    【bzoj1028】[JSOI2007]麻将
    利用adb截屏
  • 原文地址:https://www.cnblogs.com/Dabay/p/363112.html
Copyright © 2020-2023  润新知