用造小人让你彻底搞懂什么是建造者设计模式

来源:互联网 发布:linux安装ssh命令 编辑:程序博客网 时间:2024/06/10 02:06

那么到底什么建造者设计模式呢,当然设计模式其实就是代码一种组织方式。

那么我们的造人代码为什么需要这种代码组织结构呢,如果不用会发生什么,用了又会怎么样。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 建造者设计模式__造小人{    //造人的一些固定接口    abstract class PersonBuilder    {        public PersonBuilder() { }        //造小人的头        public abstract void BuildHead();        //造身体        public abstract void BuildBody();        //造手        public abstract void BuildLeg();    }    //造瘦子人    class PersonThinBuilder : PersonBuilder    {        public override void BuildBody()        {            Console.WriteLine("小身体");        }        public override void BuildHead()        {            Console.WriteLine("小头");        }        public override void BuildLeg()        {            Console.WriteLine("小腿");        }    }    //指挥者,负责指挥如何造人    class PersonDirector    {        private PersonBuilder pb;        public PersonDirector(PersonBuilder pb)        {            this.pb = pb;        }        public void CreatePerson()        {            pb.BuildBody();            pb.BuildHead();            pb.BuildLeg();        }    }    class Program    {        static void Main(string[] args)        {            PersonThinBuilder p = new PersonThinBuilder();            PersonDirector director = new PersonDirector(p);            director.CreatePerson();        }    }}其实我们可以看得出,建造者设计模式只是把一些接口给你固定死,并且客户端不需要关注执行了什么可以看出我们就是对指挥者发了造人的通知,这个指挥者会自动调造瘦子的全部方法,并且不会出现少了方法,因为我们在接口就已经规范好了。其实建造者设计模式就是把一些接口给固定下来,我们客户端是不需要关注的,
原创粉丝点击