zoukankan      html  css  js  c++  java
  • 【2016-10-16】【坚持学习】【Day7】【建造者模式】

    建造者模式:

    一个复杂的对象由多个分部件组成。一个复杂对象

    class Product
    {
    private string partA; //定义部件,部件可以是任意类型,包括值类型和引用类型
    private string partB;
    private string partC;
    public string PartA
    {
            get { return partA; }
            set { partA = value; }
        }
        public string PartB
        {
            get { return partB; }
            set { partB = value; }
        }
        public string PartC
        {
            get { return partC; }
            set { partC = value; }
        }
    }
    abstract class Builder
    {
        //创建产品对象
        protected Product product = new Product();
        public abstract void BuildPartA();
        public abstract void BuildPartB();
        public abstract void BuildPartC();
        //返回产品对象
        public Product GetResult()
        {
            return product;
        }
    }
    class ConcreteBuilder1 : Builder
    {
        public override void BuildPartA()
        {
            product.PartA = "A1";
        }
        public override void BuildPartB()
        {
            product.PartB = "B1";
        }
        public override void BuildPartC()
        {
            product.PartC = "C1";
        }
    }
    class Director
    {
        private Builder builder;
        public Director(Builder builder)
       {
            this.builder = builder;
        }
        public void SetBuilder(Builder builder)
        {
            this.builder = builder;
        }
        //产品构建与组装方法
        public Product Construct()
        {
            builder.BuildPartA();
            builder.BuildPartB();
            builder.BuildPartC();
            return builder.GetResult();
        }
    }
    ……
    Builder builder = new ConcreteBuilder1(); //可通过配置文件实现
    Director director = new Director(builder);
    Product product = director.Construct();
    ……

    作者:zscmj
    出处:http://www.cnblogs.com/zscmj/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    数据库事务的四个隔离级别浅析
    Spring事务管理之几种方式实现事务
    SQL调优简介及调优方式
    Spring MVC工作流程图
    java中的垃圾回收机
    iOS 本地化-国际化-(App名字国际化)
    iOS-自建iPa应用分发平台
    稳定App缓存
    iOS-保存图片到(自定义)相册步骤
    iOS -根据网络状态加载图片
  • 原文地址:https://www.cnblogs.com/zscmj/p/5968050.html
Copyright © 2011-2022 走看看