C#设计模式之抽象工厂(abstract factory)模式示例源代码
来源:互联网 发布:php 引用父类属性 编辑:程序博客网 时间:2024/05/16 16:12
C#设计模式之抽象工厂(abstract factory)模式示例源代码 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 (); } } }
- C#设计模式之抽象工厂(abstract factory)模式示例源代码
- C#设计模式之抽象工厂(abstract factory)模式示例源代码
- C#设计模式之抽象工厂(abstract factory)模式示例源代码
- C#设计模式之抽象工厂(abstract factory)模式示例源代码
- C#设计模式之工厂模式(Factory)--03 抽象工厂模式(Abstract Factory)
- 【设计模式】之 Abstract Factory 抽象工厂
- 设计模式之:抽象工厂(Abstract Factory)
- 设计模式之抽象工厂Abstract Factory
- 设计模式之抽象工厂Abstract Factory
- 设计模式笔记之工厂模式--抽象工厂(Abstract Factory)
- c#设计模式- Abstract Factory模式(抽象工厂)
- C#设计模式之抽象工厂模式示例源代码
- 设计模式示例三 Abstract Factory(抽象工厂)
- 设计模式-抽象工厂模式(Abstract Factory)
- 设计模式:抽象工厂模式(Abstract Factory)
- .Net设计模式之抽象工厂模式(Abstract Factory)
- Net设计模式之抽象工厂模式(Abstract Factory Pattern)
- 设计模式(二)之Abstract Factory - 抽象工厂模式
- 让同事拿我的照片给做了个QQ头像,结果。。。
- XML 命名空间提供了一种避免元素命名冲突的方法。
- 固定表头,加滚动条的datagrid
- 微软C/C++编译器选项
- 用面向对象封装操作操作系统之跨平台基础框架设计(一)
- C#设计模式之抽象工厂(abstract factory)模式示例源代码
- 宽带到底该有多快? 揭开ADSL真正速度之谜
- JAVA开发者应该去的20个英文网站
- [JS脚本]几种常用的表单输入判断函数
- 多线程下小心使用GregorianCalendar
- MFC编程实践--枚举某路径下的所有文件
- Oracle的入门心得
- [转]短文
- 备用