标签:
1.工厂方法模式
第一了一个用于创建对象的接口,让子类自己决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
*工厂方法模式即克服了简单工厂模式违反开放-封闭原则的缺点,又保留了封装对象创建过程的优点。
2.实例
namespace 工厂方法模式 { class Program { static void Main(string[] args) { IFactory factory = new CUnderGraduate(); Leifeng student = factory.CreateLeiFeng(); student.Sweep(); student.Wash(); student.BuyRice(); Console.ReadLine(); } } /// <summary> /// 所有工厂中公共执行的操作的类 /// </summary> class Leifeng { public void Sweep() { Console.WriteLine("扫地"); } public void Wash() { Console.WriteLine("洗衣"); } public void BuyRice() { Console.WriteLine("买米"); } } /// <summary> /// 创建工厂接口 /// </summary> interface IFactory { Leifeng CreateLeiFeng(); } /// <summary> /// 工厂需要实例化的类 /// </summary> class UnderGraduate : Leifeng {} /// <summary> /// 工厂需要实例化的类 /// </summary> class Voluteers:Leifeng { } /// <summary> /// 工厂,用来实例化类 /// </summary> class CUnderGraduate:IFactory { public Leifeng CreateLeiFeng() { return new UnderGraduate(); } } /// <summary> /// 工厂,用来实例化类 /// </summary> class CVoluteers : IFactory { public Leifeng CreateLeiFeng() { return new Voluteers(); } } }
标签:
原文地址:http://www.cnblogs.com/Firepad-magic/p/4704019.html