zoukankan      html  css  js  c++  java
  • 设计模式-建造者模式(三)

    创建胖子和瘦子实例

    1.创建人的抽象类

    public abstract class PersonBuilder
        {
            public abstract void BuildHead();
    
            public abstract void BuildBody();
    
            public abstract void BuildLeftArm();
    
            public abstract void BuildRightArm();
    
            public abstract void BuildLeftLeg();
    
            public abstract void BuildRightLeg();
                 
        }

    2.封装创建人的类

    public  class PersonDirector
        {
            private PersonBuilder _personbuilder = null;
            public PersonDirector() { }
    
            public PersonDirector(PersonBuilder personbuilder)
            {
                if (_personbuilder == null)
                    _personbuilder = personbuilder;
            }
            public void CreatePerson()
            {
                _personbuilder.BuildHead();
                _personbuilder.BuildBody();
                _personbuilder.BuildLeftArm();
                _personbuilder.BuildRightArm();
                _personbuilder.BuildLeftLeg();
                _personbuilder.BuildRightLeg();
            }
        }

    3.创建瘦子

    public class ThinPerson : PersonBuilder
        {
            public override void BuildBody()
            {
                Console.WriteLine("创建瘦身体");
            }
    
            public override void BuildHead()
            {
                Console.WriteLine("创建瘦脑袋");
            }
    
            public override void BuildLeftArm()
            {
                Console.WriteLine("创建瘦左胳膊");
            }
    
            public override void BuildLeftLeg()
            {
                Console.WriteLine("创建瘦左腿");
            }
    
            public override void BuildRightArm()
            {
                Console.WriteLine("创建瘦右胳膊");
            }
    
            public override void BuildRightLeg()
            {
                Console.WriteLine("创建瘦右腿");
            }
        }

    4.创建胖子

     public class FatPerson : PersonBuilder
        {
            public override void BuildBody()
            {
                Console.WriteLine("创建胖身体");
            }
    
            public override void BuildHead()
            {
                Console.WriteLine("创建胖脑袋");
            }
    
            public override void BuildLeftArm()
            {
                Console.WriteLine("创建胖左胳膊");
            }
    
            public override void BuildLeftLeg()
            {
                Console.WriteLine("创建胖左腿");
            }
    
            public override void BuildRightArm()
            {
                Console.WriteLine("创建胖右胳膊");
            }
    
            public override void BuildRightLeg()
            {
                Console.WriteLine("创建胖右腿");
            }
        }

    5.调用实例

                PersonBuilder pbt = new ThinPerson();
                PersonDirector pd = new PersonDirector(pbt);
                pd.CreatePerson();
                Console.WriteLine("-----------------------");
                PersonBuilder pbf = new FatPerson();
                PersonDirector pd1 = new PersonDirector(pbf);
                pd1.CreatePerson();
    萌橙 你瞅啥?
  • 相关阅读:
    web标准化布局
    最全前端资源汇集
    SVN使用教程
    FullPage.js中文帮助文档API
    如何选字体(font-family)
    网站禁止复制类型的属性
    Web前端学习方向
    div 命名规范! (野路子出来的好好看看)
    浏览器兼容处理
    JSONP 跨域问题
  • 原文地址:https://www.cnblogs.com/daimaxuejia/p/12082447.html
Copyright © 2011-2022 走看看