简单工厂方法 SimpleFactoryMethod

using System; class SimpleFactoryMethod { public SimpleFactoryMethod() { } public ICommodity MakeCommodity(Commodity commoditytype) { switch (commoditytype) { case Commodity.Cap: return new Cap(); break; case Commodity.Shoes: return new Shoes(); break; case Commodity.Sock: return new Sock(); break; case Commodity.Trousers: return new Trousers(); break; default: throw new Exception("参数无效"); } } }

简单的工厂方法类

interface ICommodity { void Print(); }

产品接口

using System; class Cap : ICommodity { public Cap() { } public void Print() { Console.WriteLine("Im a Cap!"); } }

产品实现A

using System; class Shoes:ICommodity { public Shoes() { } public void Print() { Console.WriteLine("Im a Shoes!"); } }

产品实现B

 using System; class Sock : ICommodity { public Sock() { } public void Print() { Console.WriteLine("Im a Sock!"); } }

产品实现C

using System; class Trousers : ICommodity { public Trousers() { } public void Print() { Console.WriteLine("Im Trousers!"); } }

产品实现D

using System; using System.Collections.Generic; using System.Text; namespace FactoryPattern { class Program { static void Main(string[] args) { ICommodity commodity; IFood food; SimpleFactoryMethod sfm = new SimpleFactoryMethod(); ICommodity commodity = sfm.MakeCommodity(Commodity.Sock); commodity.Print(); Console.ReadKey(); } } }

调用代码

你可能感兴趣的:(exception,String,interface,IM,产品)