国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

C#設(shè)計(jì)模式之抽象工廠模式示例源代碼

2024-07-21 02:29:44
字體:
供稿:網(wǎng)友

using system;

 namespace design_pattern
{

 public class  computer
 {
  private ram ram;
  private cpu cpu;
  public computer(ram ram,cpu cpu)
  {
   this.ram =ram;
   this.cpu =cpu;
   
  console .writeline("a computer is composed! "+this.ram +" "+this.cpu );
  }
 }

 public abstract class ram
 {
  public abstract  computer composeacomputer(cpu cpu);
 }
 public abstract class cpu
 {
 public abstract  computer composeacomputer(ram ram);
 }
 

 public class pcram:ram
 
{
  public override computer composeacomputer(cpu cpu)
  {
   console .writeline ("pccomputer...");

   return new computer(this,cpu);
  }

  
 }

 public class pccpu:cpu
 {
  public override computer composeacomputer(ram ram)
  {
   console .writeline ("pccomputer...");

   return new computer(ram,this);
  }

 }


 public class macram:ram
 
{
  public override computer composeacomputer(cpu cpu)
  {
   console .writeline ("maccomputer...");
   return new computer(this,cpu);
  }

  
 }

 public class maccpu:cpu
 {
  public override computer composeacomputer(ram ram)
  {
   console .writeline ("maccomputer...");
   return new computer(ram,this);
  }

 }
 
 public abstract class abstractfactory

{
   public abstract  ram createram();
   public abstract cpu createcpu() ;
}

 public class pcfactory:abstractfactory
 {
  public override ram createram()
  {
   return new pcram();
  }
  public override cpu createcpu()
  {
   return new pccpu();
  }

 }
 public class macfactory:abstractfactory
 {
  public override ram createram()
  {
   return new macram();

  }
  public override cpu createcpu()
  {
   return new maccpu();
  }
 }

 class itmarket
 
{
  private ram ram;
  private cpu cpu;
  public itmarket(abstractfactory factory)
  {
   this.ram =factory.createram();
   this.cpu =factory.createcpu();
  }
  public void run()
  {
   ram.composeacomputer(cpu);
   cpu.composeacomputer(ram);
  }

 }

 class clientapp

 {
  public static void main(string[] args)
  {
   console .writeline("pc factory...../n");
   abstractfactory pcfactory=new pcfactory ();
   itmarket itmarket=new itmarket (pcfactory);
   itmarket .run ();

   console .writeline("mac factory...../n");
   abstractfactory macfactory=new macfactory();
   itmarket =new itmarket (macfactory);
   itmarket .run ();
  }
 }   

}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 江陵县| 永泰县| 奉节县| 如皋市| 钟山县| 荣成市| 苏尼特右旗| 资兴市| 柳林县| 信宜市| 九江县| 广平县| 虞城县| 黄梅县| 瑞丽市| 长泰县| 庆元县| 长治县| 武义县| 栾城县| 宜都市| 靖州| 老河口市| 洛隆县| 军事| 庄河市| 普洱| 渭源县| 镇平县| 永顺县| 昌平区| 鹿泉市| 曲松县| 绥化市| 邯郸市| 宜宾县| 张掖市| 车险| 凤城市| 大化| 安多县|