首页 / 设计模式 / 设计模式C#实现(七)——生成器模式
设计模式C#实现(七)——生成器模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了设计模式C#实现(七)——生成器模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1295字,纯文字阅读大概需要2分钟。
内容图文
![设计模式C#实现(七)——生成器模式](/upload/InfoBanner/zyjiaocheng/1164/4b2b8d829a3c4ee093bc618d0cac3d06.jpg)
生成器模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
UML类图:
构成:
1.Builder(接口/抽象类)定义了创建一个产品Product的各个部件的方法,返回创建好的产品。
2.Director 调用Builder创建部件的方法,对产品的创建进行控制
3.ConcreteBuilder 实现/重写 Builder的方法,负责创建Product各个部件
4.Product 被创建的对象
以手机为例,在这里Builder使用抽象类提供了,提供了空的方法作为默认的部件创建方法和创建、返回产品两个方法,也可以定义为接口让具体类去实现
abstract class Builder { public Phone phone { get; privateset; } virtualpublicvoid createPhone() { phone = new Phone(); } virtualpublicvoid addCPU() { } virtualpublicvoid addMemory() { } virtualpublicvoid addScreen() { } virtualpublic Phone getPhone() { return phone; } }
一个生成苹果手机的ConcreteBuilder
class AppleBuilder : Builder { override public void addCPU() { phone.CPU = "A7"; } overridepublicvoid addMemory() { phone.Memory = "1GB"; } overridepublicvoid addScreen() { phone.Screen = "LG 5.5\""; } }
Director负责调用Builder
class Director { public void createPhone(Builder builder) { builder.createPhone(); builder.addCPU(); builder.addMemory(); builder.addScreen(); } }
要生成的产品Phone
class Phone { public string CPU; public string Memory; public string Screen; public override string ToString() { return " CPU: "+CPU+"\nMemory:"+Memory+"\nScreen:"+Screen; } }
执行代码
效果:
1.变更产品,只需定义一个新的ConcreteBuilder
2.Director对产品的构造过程可以精细控制(每个部件创建的先后顺序?还有什么?)
原文:http://www.cnblogs.com/castdream/p/4815364.html
内容总结
以上是互联网集市为您收集整理的设计模式C#实现(七)——生成器模式全部内容,希望文章能够帮你解决设计模式C#实现(七)——生成器模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。