不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
C#设计模式-建造者模式
编辑:dnawo 日期:2010-03-09
1.定义
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
2.UML图
3.代码
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
2.UML图
3.代码
复制内容到剪贴板 程序代码
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Builder builder = new ConcreteBuilder();
Director director = new Director(builder);
Product product = builder.GetResult();
Console.ReadKey();
}
}
/// <summary>
/// 指挥者
/// </summary>
class Director
{
public Director(Builder builder)
{
builder.BuildPartA();
builder.BuildPartB();
Console.WriteLine("组装Product对象!");
}
}
/// <summary>
/// 抽象建造者类
/// </summary>
abstract class Builder
{
public abstract void BuildPartA();
public abstract void BuildPartB();
public abstract Product GetResult();
}
/// <summary>
/// 具体建造者
/// </summary>
class ConcreteBuilder : Builder
{
Product product = new Product();
public override void BuildPartA()
{
//组装Product对象
}
public override void BuildPartB()
{
//组装Product对象
}
public override Product GetResult()
{
Console.WriteLine("返回Product对象!");
return product;
}
}
/// <summary>
/// 产品父类
/// </summary>
class Product
{ }
}
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Builder builder = new ConcreteBuilder();
Director director = new Director(builder);
Product product = builder.GetResult();
Console.ReadKey();
}
}
/// <summary>
/// 指挥者
/// </summary>
class Director
{
public Director(Builder builder)
{
builder.BuildPartA();
builder.BuildPartB();
Console.WriteLine("组装Product对象!");
}
}
/// <summary>
/// 抽象建造者类
/// </summary>
abstract class Builder
{
public abstract void BuildPartA();
public abstract void BuildPartB();
public abstract Product GetResult();
}
/// <summary>
/// 具体建造者
/// </summary>
class ConcreteBuilder : Builder
{
Product product = new Product();
public override void BuildPartA()
{
//组装Product对象
}
public override void BuildPartB()
{
//组装Product对象
}
public override Product GetResult()
{
Console.WriteLine("返回Product对象!");
return product;
}
}
/// <summary>
/// 产品父类
/// </summary>
class Product
{ }
}
评论: 0 | 引用: 0 | 查看次数: 5818
发表评论
请登录后再发表评论!