C#简单抽象工厂
2008-07-22 06:26
417 查看
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { AbstractFactory abstractFactory = AbstractFactory.Factory("samsang"); IMP4 iMP4 = abstractFactory.CreateMP4(); iMP4.Look(); } } //抽象工厂 public abstract class AbstractFactory { public static AbstractFactory Factory(string type) { AbstractFactory factory=null; switch(type) { case "sony": factory=new SonyFactory(); break; case "samsang": factory=new SamsanyFactory(); break; } return factory; } //通过抽象产品,创建实际产品 public abstract IMP3 CreateMP3(); public abstract IMP4 CreateMP4(); } //索尼的实际工厂 public class SonyFactory:AbstractFactory { public override IMP3 CreateMP3() { return new SonyMP3(); } public override IMP4 CreateMP4() { return new SonyMP4(); } } //三星的实际工厂 public class SamsanyFactory:AbstractFactory { public override IMP3 CreateMP3() { return new SamsangMP3(); } public override IMP4 CreateMP4() { return new SamsangMP4(); } } //MP3的抽象产品 public interface IMP3 { void Listen(); } //MP4的抽象产品 public interface IMP4 { void Listen(); void Look(); } //MP3的实际产品(索尼的) public class SonyMP3 : IMP3 { public void Listen() { Console.WriteLine("索尼 MP3 可以听"); } } //MP3的实际产品(三星的) public class SamsangMP3 : IMP3 { public void Listen() { Console.WriteLine("三星 MP3 可以听"); } } //MP4的实际产品(索尼的) public class SonyMP4 : IMP4 { public void Listen() { Console.WriteLine("索尼 MP4 可以听"); } public void Look() { Console.WriteLine("索尼 MP4 可以看"); } } //MP4的实际产品(三星的) public class SamsangMP4 : IMP4 { public void Listen() { Console.WriteLine("三星 MP4 可以听"); } public void Look() { Console.WriteLine("三星 MP4 可以看"); } } }
相关文章推荐
- C#抽象工厂简单实现类
- C#抽象工厂简单实现类
- 简单工厂 工厂模式 抽象工厂---C#
- 简单工厂 工厂模式 抽象工厂 之c#
- c#简单工厂、工厂方法与抽象工厂的区别分析
- 简单工厂、工厂方法、抽象工厂
- 将计算机思维故事化——之设计模式简单工厂、工厂模式及抽象工厂
- iOS设计模式(二) 简单工厂,工厂,抽象工厂
- C#设计模式--简单工厂模式
- 简单工厂、工厂方法和抽象工厂的学习笔记
- C#简单工厂模式实现松耦合度四则运算
- C#简单工厂模式(文件案例)
- 大话设计模式学习笔记-简单工厂 工厂 抽象工厂
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
- 简单工厂、工厂、抽象工厂随记
- 设计模式学习(四): 1.简单工厂 (附C#实现)
- C# 工厂的简单应用
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别 (转)
- 设计模式——创建型设计模式总结(简单工厂、普通工厂、抽象工厂、建造者、原型和单例)
- C#打开文件练习及简单工厂实现