C#设计模式——建造者模式

Posted 雪中狼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#设计模式——建造者模式相关的知识,希望对你有一定的参考价值。

一、概念

 建造者模式将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。

二、模型

 

三、代码实现 

/// <summary>
    /// 建造者模式的演变
    /// 省略了指挥者角色和抽象建造者角色
    /// 此时具体建造者角色扮演了指挥者和建造者两个角色
    /// </summary>
    public class Builder
    {
        // 具体建造者角色的代码
        private Product product = new Product();
        public void BuildPartA()
        {
            product.Add("PartA");
        }
        public void BuildPartB()
        {
            product.Add("PartB");
        }
        public Product GetProduct()
        {
            return product;
        }
        // 指挥者角色的代码
        public void Construct()
        {
            BuildPartA();
            BuildPartB();
        }
    }

    /// <summary>
    /// 产品类
    /// </summary>
    public class Product
    {
        // 产品组件集合
        private IList<string> parts = new List<string>();

        // 把单个组件添加到产品组件集合中
        public void Add(string part)
        {
            parts.Add(part);
        }

        public void Show()
        {
            Console.WriteLine("产品开始在组装.......");
            foreach (string part in parts)
            {
                Console.WriteLine("组件" + part + "已装好");
            }

            Console.WriteLine("产品组装完成");
        }
    }

    // 此时客户端也要做相应调整
    class Client 
    {
        private static Builder builder;
        static void Main(string[] args)
        {
            builder = new Builder();
            builder.Construct();
            Product product = builder.GetProduct();
            product.Show();
            Console.Read();
        }
    }

 

以上是关于C#设计模式——建造者模式的主要内容,如果未能解决你的问题,请参考以下文章

C# 设计模式巩固笔记 - 建造者模式

C#设计模式之建造者模式

建造者模式(Builder)

C#设计模式-建造者模式

c#设计模式-创建性模式-2.建造者模式

c#设计模式——简单说(建造者模式)