//设计模式原则:要依赖抽象,不要依赖具体类
// 工厂方法模式 // 定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个 // 工厂方法让类把实例化推迟到子类 public abstract class pizza { } public class pizzaA : pizza { } public class pizzaB : pizza { } // 这是抽象创建者类,它定义了一个抽象的工厂方法 // 让子类实现此方法制造产品 public abstract class pizzaStore { protected abstract pizza CreatePizza( string type); public pizza OrderPizza( string type) { pizza p = CreatePizza(type); // do somethingelse return p; } } public class StoreA : pizzaStore { protected override pizza CreatePizza( string type) { if (type == " A " ) { return new pizzaA(); } else if (type == " B " ) { return new pizzaB(); } else return null ; } } class Program { static void Main( string [] args) { pizzaStore storeA = new StoreA(); storeA.OrderPizza( " A " ); Console.Read(); } }
转载于:https://www.cnblogs.com/renjuwht/archive/2010/01/22/1654456.html
