using System; using System.Collections.Generic; using System.Text;
namespace test.ConsoleApplication3 { public interface IApparel //定义一个接口 { string ShowMe(); bool Knit { get; } }
public class SportsShirt : IApparel //产品1 { public string ShowMe() { return "Sports Shirt"; } public bool Knit { get { return true; } } }
public class DressShirt : IApparel //产品2 { public string ShowMe() { return " DressShirt"; } public bool Knit { get { return true; } } }
public class ApparelFactory //创建工厂类 { //定义一个返回对象的方法,该方法返回类型为IApparel,这样任何实现了IApparel接口的类的对象都可以返回。 public IApparel CreateApparel(string appType) { switch (appType) { case "MDRSHIRT": return new DressShirt(); case "SportsShirt": return new SportsShirt(); } return null; } } }
using System; using System.Collections.Generic; using System.Text; using test.ConsoleApplication3;
namespace test { class Program {
static void Main(string[] args) {
ApparelFactory app = new ApparelFactory(); IApparel iap1 = app.CreateApparel("MDRSHIRT"); IApparel iap2 = app.CreateApparel("SportsShirt");
Console.WriteLine(iap1.ShowMe()); Console.WriteLine(iap1.Knit);
Console.WriteLine(iap2.ShowMe()); Console.WriteLine(iap2.Knit); Console.ReadLine(); } } }