【设计模式】建造者模式
来源:互联网 发布:感恩安全座椅 知乎 编辑:程序博客网 时间:2024/06/08 12:30
一、定义:
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
二、结构图:
三、代码展示:
Product类——产品类,由多个部件组成
class Product{ IList<string> parts = new List<string>(); public void Add(string part) { parts.Add(part); } public void Show() { Console.WriteLine("\n产品 创建 ----"); foreach (string part in parts) { Console.WriteLine(part); } }}Builder类——具体建造者类
abstract class Builder{ public abstract void BuildPartA(); public abstract void BuildPartB(); public abstract Product GetResult();}ConcreteBuilder1类——具体建造者类
class ConcreteBuilder1 : Builder{ private Product product = new Product(); public override void BuildPartA() { product.Add("部件A"); } public override void BuildPartB() { product.Add("部件B"); } public override Product GetResult() { return product; }}ConcreteBuilder2类——具体建造者类
class ConcreteBuilder2 : Builder{ private Product product = new Product(); public override void BuildPartA() { product.Add("部件X"); } public override void BuildPartB() { product.Add("部件Y"); } public override Product GetResult() { return product; }}Director类——指挥者类
class Director{ public void Construct(Builder builder) { builder.BuildPartA(); builder.BuildPartB(); }}客户端代码
static void Main(string[] args){ Director director = new Director(); Builder b1 = new ConcreteBuilder1(); Builder b2 = new ConcreteBuilder2(); director.Construct(b1); Product p1 = b1.GetResult(); p1.Show(); director.Construct(b2); Product p2 = b2.GetResult(); p2.Show(); Console.Read();}结果显示如下:
阅读全文
0 0
- 设计模式-------建造者
- 设计模式-建造者
- 建造者设计模式
- 建造者设计模式
- 建造者设计模式
- 设计模式-建造者
- 建造者设计模式
- 建造者设计模式
- 建造者设计模式
- [设计]建造者模式
- 设计模式:建造者模式
- 设计模式---建造者模式
- 设计模式---建造者模式
- 设计模式-----建造者模式
- 设计模式-【建造者模式】
- 设计模式--建造者模式
- 设计模式建造者模式
- 设计模式- 建造者模式
- filter logincontroller
- Fragment重叠问题引发的思考
- 记2017CCPC杭州站打铁经验
- 临时备忘录
- apt-get安装linux软件简单至极------一键搞定tree、g++、samba、ssh、curl等东东
- 【设计模式】建造者模式
- OFSF-BC: Online Feature Selection Framework for Binary Classification阅读笔记
- 原生JS版的贪吃蛇
- 【SpringMVC学习04】Spring、MyBatis和SpringMVC的整合
- php5.4 ffmpeg微信录音amr格式转mp3格式
- No class by name: dwrService
- 从零开始的IT生活
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第3章 爬虫基础知识回顾
- python基础-09-面向对象、装饰器