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

ZDNet软件频道 时间:2008-07-19 作者: |  我要评论()
本文关键词:设计模式 C# 示例 Windows
C#设计模式之建造者(Builder)模式示例源代码

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
   
  }
  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()
 
 public override void BuilderRam()
 
}
public class pcBuilder:Builder
{ public pcBuilder(string type):base(type)
 {}
 public override void BuildCpu()
 
 public override void BuilderRam()
 

}public class Worker
{ public void Construct(Builder builder)
 
}
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#

示例

Windows


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134