码迷,mamicode.com
首页 > 其他好文 > 详细

CSharp设计模式读书笔记(6):建造者模式(学习难度:★★★★☆,使用频率:★★☆☆☆)

时间:2014-09-25 19:44:17      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   io   使用   ar   sp   

模式角色与模式:

bubuko.com,布布扣

建造者模式可以将一个产品的内部表象与产品的生产过程分割开来,从而可以是一个建造过程生成具有不同的内部表象的产品对象。

using System;
using System.Collections;

namespace CSharpDesignPattern.BuilderPattern
{
    public class Product
    {
        ArrayList parts = new ArrayList();

        public void Add(String part)
        {
            parts.Add(part);
        }
    }

    public interface IBuilder
    {
        void BuildPartA();
        void BuildPartB();
        Product GetResult();
    }

    public class ConcreteBuilder1 : IBuilder
    {
        private Product product;

        public void BuildPartA()
        {
            product = new Product();
            product.Add("PartA");
        }

        public void BuildPartB()
        {
            product.Add("PartB");
        }

        public Product GetResult()
        {
            return product;
        }
    }

    public class ConcreteBuilder2 : IBuilder
    {
        private Product product;

        public void BuildPartA()
        {
            product = new Product();
            product.Add("PartX");
        }

        public void BuildPartB()
        {
            product.Add("PartY");
        }

        public Product GetResult()
        {
            return product;
        }
    }

    class Director
    { 
        public void Construct(IBuilder builder)
        {
            builder.BuildPartA();
            builder.BuildPartB();
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Director director = new Director();

            IBuilder b1 = new ConcreteBuilder1();
            IBuilder b2 = new ConcreteBuilder2();

            director.Construct(b1);
            Product p1 = b1.GetResult();

            director.Construct(b2);
            Product p2 = b2.GetResult();

            Console.ReadLine();
        }
    }
}

 


 

 

CSharp设计模式读书笔记(6):建造者模式(学习难度:★★★★☆,使用频率:★★☆☆☆)

标签:des   style   blog   http   color   io   使用   ar   sp   

原文地址:http://www.cnblogs.com/thlzhf/p/3993125.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!