public interface Creator { Product factory();//工厂方法 } ConcreteCreator1: class ConcreteCreator1:Creator { public Product factory()//工厂方法 { return new ConcreteProduct1(); } } ConcreteCreator2: class ConcreteCreator2:Creator { public Product factory()//工厂方法 { return new ConcreteProduct2(); } } Product: public interface Product { } ConcreteProduct1: class ConcreteProduct1:Product { public ConcreteProduct1() { Console.WriteLine ("Creat ConcreteProduct1"); } } ConcreteProduct2: class ConcreteProduct2:Product { public ConcreteProduct2() { Console.WriteLine ("Creat ConcreteProduct2"); } } //csharp/4479