创建模式-生成器模式

         生成器模式(Builder)将一个复杂对象的创建与表示分离开,对其复杂的创建过程和部件进行解耦,使同样的创建过程可以创建不同的表示.

         如果当你的对象的创建过程可以和每个部件的创建过程分离开,并且可能通过组装不同的创建部件可以生成不同的对象.就可以使用生成器模式.

         如同生成一个汽车,你可以通过不同的组装方式来创建一个不同类型的汽车.

    public interface IBuilder

    {

        void BuildEngine();    // 发动机

        void BuildTyre();      // 轮胎

        void BuildSteer();     // 方向盘

    }   // interface IBuilder

 

    public class Builder : IBuilder

    {

        public void BuildEngine() { }

        public void BuildTyre() { }

        public void BuildSteer() { }

        public Product GetProduct()

        {

            return new Product();

        }

    }   // class Builder

 

    public class Product { }

 

    public class Director

    {

        private IBuilder m_builder;

        public Director(IBuilder builder)

        {

            m_builder = builder;

        }

        public void CreateModel()

        {

            m_builder.BuildEngine();

            m_builder.BuildTyre();

            m_builder.BuildSteer();

        }

        public void CreateCar()

        {

            m_builder.BuildTyre();

            m_builder.BuildSteer();

        }

    }   // class Director

 // 生产模型汽车

IBuilder builder = new Builder();

Director director = new Director(builder);

director.CreateModel();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值