工厂模式之简单工厂案例
简单工厂模式
首先创建控制台应用程序项目
1.创建Product抽象产品类,将具体产品类公共的代码进行抽象和提取后封装在该一个抽象产品类中。
public abstract class Product { public abstract string Create(); }
2.创建ConcreteProductA具体产品类,将需要创建的产品对象的相关代码封装到该具体产品类中。
public class ConcreteProductA : Product.Product { public override string Create() { return "创建具体产品A"; } }
3.创建ConcreteProductB具体产品类,将需要创建的产品对象的相关代码封装到该具体产品类中。
public class ConcreteProductB : Product.Product { public override string Create() { return "创建具体产品B"; } }
4.创建Factory工厂类,用于创建各种产品,在工厂类中提供一个创建产品的工厂方法,该方法可以根据所传入参数的不同创建不同的具体产品对象。
public class Factory { public static Product.Product Create(string name) { if (name=="A") { return new ConcreteProductA.ConcreteProductA(); } else if (name=="B") { return new ConcreteProductB.ConcreteProductB(); } else { return null; } } }
5.在Program类中,调用工厂类的工厂方法并传入相应的参数即可得到一个产品对象,通过Console.WriteLint()输出对应的提示信息。
static void Main(string[] args) { Product.Product product1 = Factory.Factory.Create("A"); Console.WriteLine(product1.Create()); Product.Product product2 = Factory.Factory.Create("B"); Console.WriteLine(product2.Create()); Console.ReadKey(); }
结果: