23种设计模式之建造者模式(Builder)

简介: 23种设计模式之建造者模式(Builder) 建造者模式强调将一个复杂对象的创建与它的表示分离,使得同样的构建过程可以创建不同的表示。

23种设计模式之建造者模式(Builder)

 

建造者模式强调将一个复杂对象的创建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一步一步地创建一个复杂的对象,它允许用户只通过制定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式属于对象创建型模式。

 

public abstract class Builder { public abstract void MakeTitle(string title); public abstract void MakeString(string str); public abstract void MakeItems(string[] items); public abstract Object GetResult(); }

 

public class Director { private Builder builder; public Director(Builder builder) { this.builder = builder; } public Object Construct() { builder.MakeTitle("Greeting"); builder.MakeString("从早上到白天结束"); builder.MakeItems(new string[] { "早安", "午安" }); builder.MakeString("到了晚上"); builder.MakeItems(new string[] { "晚安", "好梦" }); return builder.GetResult(); } }

 

public class TextBuilder : Builder { private StringBuilder sb = new StringBuilder(); public override void MakeTitle(string title) { sb.Append("【" + title + "】/n/n"); } public override void MakeString(string str) { sb.Append(str + "/n/n"); } public override void MakeItems(string[] items) { for (int i = 0; i < items.Length; i++) { sb.Append(items[i] + "/n"); } sb.Append("/n"); } public override object GetResult() { return sb.ToString(); } }

 

class Program { static void Main(string[] args) { //生成器模式 Builder.Director director = new Builder.Director(new Builder.TextBuilder()); string result = director.Construct() as string; Console.WriteLine(result); } }

 

 

目录
相关文章
|
1月前
|
设计模式 XML 存储
【四】设计模式~~~创建型模式~~~建造者模式(Java)
文章详细介绍了建造者模式(Builder Pattern),这是一种创建型设计模式,用于将复杂对象的构建与其表示分离,允许分步骤创建一个复杂的对象而无需指定其内部的具体构造细节。通过定义抽象建造者、具体建造者、指挥者和产品角色,建造者模式允许通过相同的构建过程创建不同的产品表示,提高了系统的灵活性和扩展性。
|
3月前
|
设计模式 算法
建造者模式-大话设计模式
建造者模式-大话设计模式
|
2月前
|
设计模式 JavaScript
js设计模式【详解】—— 建造者模式
js设计模式【详解】—— 建造者模式
26 0
|
3月前
|
设计模式
设计模式-05建造者模式(Builder Pattern)
设计模式-05建造者模式(Builder Pattern)
|
3月前
|
设计模式 算法 索引
程序技术好文:设计模式之美:Builder(生成器)
程序技术好文:设计模式之美:Builder(生成器)
|
3月前
|
设计模式 Java
Java设计模式:建造者模式之经典与流式的三种实现(四)
Java设计模式:建造者模式之经典与流式的三种实现(四)
|
3月前
|
设计模式 Java
Java设计模式之建造者模式详解
Java设计模式之建造者模式详解
|
3月前
|
设计模式 Java
设计模式之建造者模式
设计模式之建造者模式
|
3月前
|
设计模式
创建型设计模式之建造者模式
创建型设计模式之建造者模式
|
3月前
|
设计模式 算法 Java
【设计模式】建造者模式
【6月更文挑战第16天】建造者模式是创建型设计模式,用于分离对象构造的步骤和其表示,允许构造多种表示。适用于构建过程复杂且部分可变的情况。关键角色包括产品、抽象建造者、具体建造者和导演。例如,汉堡套餐的组合。优点是灵活性高、隐藏构建细节,缺点是可能增加代码冗余。与工厂模式对比,更关注构建顺序。示例中展示了Go语言的建造者模式实现,用于创建`ResourcePoolConfig`,通过Builder进行参数校验和构建。
26 0