简单工厂:
工厂模式:简单工厂,工厂方法,抽象工厂三种. 简单工厂(力求简洁)
工厂即为生产东西的地方.在C#也有这种模式,充分利用了面向对象语言的三大特征(多态,继承),简单工厂.工厂的功能就是生产,而生产些什么呢?一个工厂可以生产鞋子,生产衣服.它们所处的车间不一样,所以需要两个不同的类,这两个类继承工厂生产这个功能.
简单工厂,之所以成为简单.即这个工厂所生产的东西是有限的,固定的.因为它只有鞋子,衣服,是具体的.也可以说是简单工厂的缺点(生产产品固定,要改动case语句),优点(①降低了客户与产品之间的耦合度,客户是客户,工厂是工厂,客户只需说自己需要什么②实现了代码的复用,可以少写点代码)
介绍完毕,上干货
工厂的接口
public abstract class IFactory { //生产 抽象方法 public abstract void Production(); }
工厂可实现的产品,鞋子,衣服
//生产鞋子 public class ShoesClass : IFactory { public override void Production() { Console.WriteLine("生产鞋子"); } }
public class ClothesClass : IFactory { public override void Production() { Console.WriteLine("生产了衣服"); } }
根据不同需求来实现工厂的生产功能
public class Factory { IFactory f = null; public IFactory Create(string type) { switch (type) { case "Shoes": f = new ShoesClass(); break; case "Clothes": f = new ClothesClass();
break;
default: break; } return f; } }
客户端实现
class Program { static void Main(string[] args) { IFactory f = new Factory().Create("Clothes"); f.Production(); Console.ReadKey(); } }