建造者模式
来源:互联网 发布:知乎周刊plus 编辑:程序博客网 时间:2024/06/17 00:48
建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
当创建复杂对象的算法应该独立与该对象的组成部分以及它们的装配方式时适用的模式。
class Program { 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(); } } class Director { public void Construct(Builder builder) { builder.BuildPartA(); builder.BuildPartB(); } } abstract class Builder { public abstract void BuildPartA(); public abstract void BuildPartB(); public abstract Product GetResult(); } 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; } } 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; } } 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); } } }
0 0
- Builder 建造者模式
- 建造者模式
- 设计模式-------建造者
- 建造者模式
- 建造者模式(Builder)
- 建造者模式(Builder)
- 建造者模式
- 建造者模式 - builder
- 建造者模式
- Builder建造者模式
- 建造者模式(Builder)
- 建造者模式(builder)
- 建造者模式
- java建造者模式
- 建造者模式
- 建造者模式
- 建造者模式(Builder)
- 建造者模式
- CSS3的display属性
- HttpUrlConnection使用详解
- sql语句中where的引号用法
- 05-NoSQL数据库的四大分类学习
- Qt知识点收集(二)
- 建造者模式
- PHP的openssl加密扩展使用小结
- ReactNative系列之十五用过的优秀三方控件
- 函数的重载,重写,隐藏
- Leetcode 236. Lowest Common Ancestor of a Binary Tree
- 动态包含与静态包含的区别
- 06-在分布式数据库中CAP原理CAP+BASE学习
- [vijos 1677] 陶陶的名字(kmp)
- Java SSL 证书细节