建造者模式 c#
2016-01-08 14:39
405 查看
定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
using System; using System.Collections; using System.Collections.Generic; using System.Linq; namespace ConsoleApplication1 { class Program { public class Product { private string name; public string Name { get { return name; } set { name = value; } } public override string ToString() { return string.Format("Name: {0}", name); } } public abstract class Builder { public abstract void SetName(string name); public abstract Product GetProduct(); } public class ConcreateBuilder : Builder { private Product product = new Product(); public override void SetName(string name) { product.Name = name; } public override Product GetProduct() { return product; } } public class Director { private Builder builder = new ConcreateBuilder(); public Product GetAProduct() { builder.SetName("a"); return builder.GetProduct(); } public Product GetBProduct() { builder.SetName("b"); return builder.GetProduct(); } } static void Main(string[] args) { Director director = new Director(); Product a = director.GetAProduct(); Product b = director.GetBProduct(); Console.WriteLine(a.ToString()); Console.WriteLine(b.ToString()); } } }
相关文章推荐
- C#交错数组
- c# 后台get post请求
- C#中怎么使控件随着窗体的大小改变而改变
- C# 如何捕获一个USB设备发送到PC的数据
- 外观模式 c#
- C#创建datatable
- C# winForm 将窗体状态栏StatusStrip示例(显示当前时间)
- C#对象深拷贝方法 - 通用版
- C#编程的注意事项
- C# 的时间戳转换
- C#程序提示”遇到问题正在关闭“的问题,并且没有日志输出
- C#中using关键字的作用及用法
- C# partial 说明
- C#开启路由器upnp功能
- c# 保存数据到txt (追加)
- 通过RFC(C#)连接SAP系统
- C#中数组、ArrayList和List三者的区别
- C#正则表达式工具库
- (转)C#_WinForm接收命令行参数
- 正则表达式C#