T5_设计模式_建造者模式

上传人:油条 文档编号:26762903 上传时间:2017-12-31 格式:PPT 页数:17 大小:607.50KB
返回 下载 相关 举报
T5_设计模式_建造者模式_第1页
第1页 / 共17页
T5_设计模式_建造者模式_第2页
第2页 / 共17页
T5_设计模式_建造者模式_第3页
第3页 / 共17页
T5_设计模式_建造者模式_第4页
第4页 / 共17页
T5_设计模式_建造者模式_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《T5_设计模式_建造者模式》由会员分享,可在线阅读,更多相关《T5_设计模式_建造者模式(17页珍藏版)》请在金锄头文库上搜索。

1、第五章,建造者模式,抽象工厂模式的原理抽象工厂模式,有什么优缺点?,回顾,创建模式 工厂模式(Factory)简单工厂模式(Simple Factory)工厂方法模式(Factory Method)抽象工厂模式(Abstract Factory)建造者模式(Builder)原型模式(Prototype) 单例模式(Singleton),本章任务,建造者模式引子,某日,陪朋友去大利嘉DIY电脑,配好电脑清单后,由装机工进行装机,他们不管你用的是什么配置,都可以很快的装配到一起。用程序来演示整个装机过程。,建造者模式定义,定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

2、。一步步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们。用户不知道内部的具体构建细节。,建造者模式结构图,建造者模式参与者,参与者抽象建造者(Builder)为创建一个产品角色对象的各个部件指定抽象接口。具体建造者(Concrete Builder)实现抽象建造者接口,构造和装配产品的各个部件。定义并明确它所创建的表示。提供一个返回这个产品的接口。指挥者(Director)构建一个使用抽象建造者接口的对象。产品角色(Product)被构建的复杂对象,具体建造者创建该产品的内部表示并定义它的装配过程。包含定义组成部件的类,包括将这些部件装配成最终产品的接口。,建造者模

3、式应用,abstract class AbstractBuilder private Computer _computer = new Computer(); public Computer Computer get return _computer; set _computer = value; public abstract void SetupMainboard(); public abstract void SetupCpu(); public abstract void SetupMemory(); public abstract void SetupHarddisk(); publ

4、ic abstract void SetupVideocard();,抽象建造者,建造者模式应用,class GameComputer : AbstractBuilder public override void SetupMainboard() Computer.Mainboard = “Mainboard”; public override void SetupCpu() public override void SetupMemory() public override void SetupHarddisk() public override void SetupVideocard(),

5、具体建造者,建造者模式应用,class Director public void BuildComputer(AbstractBuilder computerBuilder) computerBuilder.SetupMainboard(); computerBuilder.SetupCpu(); computerBuilder.SetupMemory(); computerBuilder.SetupHarddisk(); computerBuilder.SetupVideocard(); ,指挥者,建造者模式应用,class Computer private string _mainboar

6、d; public string Mainboard get return _mainboard; set _mainboard = value; public void Show() Console.WriteLine(主板:+this.Mainboard); Console.WriteLine(CPU: + this.Cpu); Console.WriteLine(内存: + this.Memory); Console.WriteLine(硬盘: + this.Harddisk); Console.WriteLine(显卡: + this.Videocard); ,产品角色,建造者模式应用

7、,class Program static void Main(string args) Director director = new Director(); AbstractBuilder builder = new GameComputer(); director.BuildComputer(builder); Computer computer = builder.Computer; computer.Show(); Console.ReadLine(); ,客户,建造者模式与抽象工厂模式的区别,抽象工厂模式与建造者模式建造者模式着重于一步步构造一个复杂对象;抽象工厂着重于多个系列的产品对象。建造者模式在最后一步返回产品; 抽象工厂中,产品是立即返回的,建造者模式优缺点,优缺点优点将一个复杂对象的生成责任作了很好的分配。它把构造过程放到指挥者的方法中,把装配过程放到具体建造者类中。产品之间往往有共通点。缺点如果产品的内部变化复杂,抽象建造者的每一个子类都需要对应到不同的产品去作构建的动作、方法,这就需要定义很多个具体建造类来实现这种变化。,建造者模式适用性,适用性创建复杂对象的算法是独立于它的组成部件及装配过程构造的过程允许构造对象有不同的表现,总结,简单描述下,什么是建造者模式?建造者模式,有什么优缺点?,谢谢!,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号