星空网 > 软件开发 > ASP.net

《大话设计模式》学习笔记9:建造者模式

  《大话设计模式》学习笔记9:建造者模式

建造小人示例:

  《大话设计模式》学习笔记9:建造者模式

1.Builder:

  public abstract class PersonBuilder  {    public abstract void BuildHead();    public abstract void BuildBody();    public abstract void BuildArm();    public abstract void BuildLeg();  }

2.ConcreteBuilder:

  public class ThinPersonBuilder:PersonBuilder  {    public override void BuildHead()    {      Console.WriteLine("瘦头");    }    public override void BuildBody()    {      Console.WriteLine("瘦身体");    }    public override void BuildArm()    {      Console.WriteLine("瘦手");    }    public override void BuildLeg()    {      Console.WriteLine("瘦腿");    }  }  public class FatPersonBuilder:PersonBuilder  {    public override void BuildHead()    {      Console.WriteLine("胖头");    }    public override void BuildBody()    {      Console.WriteLine("胖身体");    }    public override void BuildArm()    {      Console.WriteLine("胖手");    }    public override void BuildLeg()    {      Console.WriteLine("胖腿");    }  }

3.Director:

  public class PersonDirector  {    private PersonBuilder personBuilder;    public PersonDirector(PersonBuilder personBuilder)    {      this.personBuilder=personBuilder;    }    public void CreatePerson()    {      personBuilder.BuildHead();      personBuilder.BuildBody();      personBuilder.BuildArm();      personBuilder.BuildLeg();    }  }

4.客户端代码:

  class Program  {    static void Main(string[] args)    {      PersonBuilder thinPersonBuilder = new ThinPersonBuilder();      PersonDirector thinPersonDirector = new PersonDirector(thinPersonBuilder);      thinPersonDirector.CreatePerson();      PersonBuilder fatPersonBuilder = new FatPersonBuilder();      PersonDirector fatPersonDirector = new PersonDirector(fatPersonBuilder);      fatPersonDirector.CreatePerson();    }  }

 

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

  建造者模式的好处是使得建造代码与表示代码分离,由于建造者隐藏了该产品是如何组装的,所欲若需要改变一个产品的内部表示,只需要再定义一个具体的建造者就可以了。

 




原标题:《大话设计模式》学习笔记9:建造者模式

关键词:设计模式

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

为什么推荐大家做Etsy?(上篇):https://www.ikjzd.com/articles/96168
深度解析亚马逊无货源模式!:https://www.ikjzd.com/articles/96170
Amazon如何创建并同步BIL-国际商品信息?:https://www.ikjzd.com/articles/96173
亚马逊卖家违规ASIN创建账号被封 / Wish官方回应2000美元开店注册金难退回:https://www.ikjzd.com/articles/96174
为什么推荐大家做Etsy?(下篇):https://www.ikjzd.com/articles/96175
525事变!亚马逊下杀手,10亿级大卖也未能幸免!!!:https://www.ikjzd.com/articles/96176
武陵山大裂谷周围景点 武陵山大裂谷周围景点图片:https://www.vstour.cn/a/411233.html
南美旅游报价(探索南美洲的旅行费用):https://www.vstour.cn/a/411234.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流