当前位置: 首页 > news >正文

山西手机版建站系统信息做网站vi系统是什么

山西手机版建站系统信息,做网站vi系统是什么,重庆营销型网站随做的好处,微信公众平台开发模式一、概述在软件系统中#xff0c;把构造对象实例的逻辑移到了类的外部#xff0c;在这个类的外部定义了类的逻辑。它把一个复杂对象的构造过程从对象的表示中分离出来了#xff0c;其直接效果是将一个复杂的对象简化为一个比较简单的目标对象。它强调的是产品构造过程。二、…一、概述 在软件系统中把构造对象实例的逻辑移到了类的外部在这个类的外部定义了类的逻辑。它把一个复杂对象的构造过程从对象的表示中分离出来了其直接效果是将一个复杂的对象简化为一个比较简单的目标对象。它强调的是产品构造过程。   二、意图 将一个复杂对象的构建与其表示相分离使得同样的构建过程可以创建不同的表示。   三、Builder模式的结构 Builder:为创建Product对象的各个部件指定抽象接口。 ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件定义并明确它所创建的表示并提供一个检索产品的接口。 Director:构造一个使用Builer接口的对象。 Product:表示被构造的复杂对象。ConcreteBuilder创建该产品的内部表示并定义它的装配过程包含定义组成部件的类以及将这些部件装配成最终产品的接口。   四、举例 我们用KFC套餐为例KFC中存在以下对象,各种食物Product有收银员Director可配置套餐菜单接口主食零食饮料Builder具体套餐搭配ConcreteBuilder。 1. 首先给定可配置套餐菜单接口主食零食饮料Builder   abstract public class Builder{// BuildPartA,BuildPartB,BuildPartC具体的套餐方法abstract public void BuildPartA();abstract public void BuildPartB();abstract public void BuildPartC();abstract public Product GetResult();} 2.我们需要KFC的产品   public class Product{ArrayList parts new ArrayList();public void Add(string part){parts.Add(part);}public void Show(){Console.WriteLine( Product Parts -------);foreach (string part in parts)Console.WriteLine(part);}}   3. 然后我们给出具体套餐搭配ConcreteBuilderA   public class ConcreteBuilderA:Builder{private Product product;// Methodsoverride public void BuildPartA(){product new Product();product.Add(麦香鸡腿堡);}override public void BuildPartB(){product.Add(加冰可乐);}override public void BuildPartC(){product.Add(大薯条);}override public Product GetResult(){return product;}}  4. 然后我们给出具体套餐搭配ConcreteBuilderB   public class ConcreteBuilderB:Builder{private Product product;// Methodsoverride public void BuildPartA(){product new Product();product.Add(香辣鸡腿堡);}override public void BuildPartB(){product.Add(可乐不加冰);}override public void BuildPartC(){product.Add(小薯条);}public override Product GetResult(){return product;}} 5. 现在我们需要一个收银员Director   public class Director{public void Construct(Builder builder){builder.BuildPartA();builder.BuildPartB();builder.BuildPartC();}} 6. 最后我们完成Client购买KFC套餐   class Program{static void Main(string[] args){Director director new Director();Builder b1 new ConcreteBuilderA();Builder b2 new ConcreteBuilderB();director.Construct(b1);Product p1 b1.GetResult();p1.Show();director.Construct(b2);Product p2 b2.GetResult();p2.Show();Console.ReadKey();}}    这样Client分别买了两种不同的套餐Client只需要让收款员知道你需要那种套餐即可不需要了解具体套餐是如何实现的。 五、优点  1.建造者模式的“加工工艺”是暴露的这样使得建造者模式更加灵活。  2.解耦了组装过程和创建具体部件使得我们不用去关心每个部件是如何组装的。--上面对KFC的分析可以很清楚的看出这点。 六、适用环境  1.需要生成的产品对象有复杂的内部结构。  2.需要生成的产品对象的属性相互依赖建造者模式可以强迫生成顺序。  3.在对象创建过程中会使用到系统中的一些其它对象这些对象在产品对象的创建过程中不易得到。 参考文献: 《.NET应用架构设计原则、模式与实践》 王洋 著 转载于:https://www.cnblogs.com/Abel-Zhang/p/BuilderPattern.html
http://www.zqtcl.cn/news/275387/

相关文章:

  • 德阳市住房和城乡建设局网站首页一个服务器可以建多少个网站
  • 建一个电商网站多少钱一起做网店货源app
  • 做网站用lunx代理记账 营销型网站
  • 凡客做网站怎么样WordPress分类目录 前100篇
  • 腾讯wordpress 建站教程本地的上海网站建设公司
  • 深圳市南山区住房和建设局官方网站上海专业网站建设公司站霸网络
  • 建网站的8个详细步骤网站集约化建设讲话
  • 建设局哪个网站查证南京注册公司多少钱
  • 免费的网站制作郑州中森网站建设
  • 网站关键词搜不到了濮阳网络教育
  • 推荐股票的好网站如何做好网站宣传
  • 免费网站模板网大型网络游戏
  • 网站开发语言数据库有几种广东省建设厅官网查询
  • 建新建设集团有限公司网站土巴兔装修公司电话
  • 百度网站审核期时间wordpress如何实现收费会员制
  • delphi 2010 网站开发wordpress 变装小说
  • asp.net电子商务网站前台模板企业所得税优惠政策2021年小微企业
  • 成都网站建设 lkcms深圳做网站哪个公司最好
  • 网站降权处理关于网站建设心得体会
  • 互联网站点与wordpress集成软件
  • 网站页面图片布局如何设计最新热点新闻事件
  • 学网站建设难四会市城乡规划建设局网站
  • 网站源码分享网html代码入门基础
  • 农产品网站开发方案陕西建设网成绩查询
  • 网站效益分析iis添加网站ip地址
  • 宣传海报在什么网站做网站建设的能力
  • 温州网站优化优化课程设置
  • 企业推广网站有哪些做百度推广需要什么条件
  • 如何实现网站的快速排名怎么做网站模板
  • 数据型网站建设wordpress 阅读统计