您所在的位置: 首页>>开发>>.Net>>c#>>

C#设计模式之建造者(Builder)模式示例源代码

http://developer.51cto.com  2005-09-30 09:25    www.4oa.com  我要评论(0)
  • 摘要:本文是C#设计模式之建造者(Builder)模式示例源代码
  • 标签:模式  C#

using System;
using System.Collections;

//product
public class Computer
{private string Type;
private Hashtable info=new Hashtable ();
public Computer(string type)
{ Type=type;
Console .WriteLine ("Conputer "+type+" is Builded!");
}

public string this[string key]
{ get
{ return (string)info[key];
}
set
{ info[key]=value;
}
}
public void Show()
{Console .WriteLine ("this is a computer of "+Type+" :");
Console .WriteLine ("   "+info["cpu"]);
Console .WriteLine ("   "+info["ram"]);
}
}

//Builder
public abstract class Builder
{ protected Computer computer;

public Computer Computpter
{ get
{  return computer;
}
}
public Builder(string type)
{computer=new Computer (type);
}
abstract public void BuildCpu();
abstract public  void BuilderRam();

}

public class MacBuilder:Builder
{ public MacBuilder(string type):base(type)
{}
public override void BuildCpu()
{  computer["cpu"]="MacCpu";
}
public override void BuilderRam()
{  computer["ram"]="MacCpu";
}
}
public class pcBuilder:Builder
{ public pcBuilder(string type):base(type)
{}
public override void BuildCpu()
{computer["cpu"]="pcCpu";
}
public override void BuilderRam()
{computer["ram"]="pcCpu";
}

}public class Worker
{ public void Construct(Builder builder)
{ builder.BuildCpu();
builder.BuilderRam();
}
}
public  class CEO
{ public static void Main()
{  try
{  Worker Worker=new Worker ();
Builder PcBuilder=new pcBuilder ("Pc");
Builder MacBuilder=new MacBuilder ("Mac");

Worker .Construct(PcBuilder);
Worker.Construct(MacBuilder);

PcBuilder.Computpter.Show ();
MacBuilder.Computpter.Show ();
}
catch(Exception ex)
{
Console.WriteLine ("Error:"+ex.Source+" "+ex.InnerException+ex.StackTrace+ex.TargetSite);
}
}
}


C#实用基础教程
C#技术开发指南
走向银光 —— 一步一步学Silverlight2
让你的代码“炫”起来——WPF开发教程
WebSphere 实现SOA的利器
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual Basic完全自学宝典

  • 作者:强锋科技,杨章伟
  • Visual Basic是用户最多的开发技术之一。本书由浅入深,循序渐进地教授读者如何使用Visual Basic开发应用系统,是Visual Basic..
Copyright©2005-2008 51CTO.COM 版权所有