定义
提供一个创建对象实例的功能,而无需关心具体实现。创建实例的类型可以是接口、抽象类,也可以是具体的类。
代码示例
/// <summary>
/// 工厂类,用来创建api对象
/// </summary>
public class Factory
{
public static IApi CreateApi(int condition)
{
IApi api = null;
if(condition==1)
api=new Api1();
else if(condition==2)
api=new Api2();
return api;
}
}
public interface IApi
{
void Operation(string s);
}
public class Api1 : IApi
{
public void Operation(string s)
{
Console.WriteLine(s);
}
}
public class Api2 : IApi
{
public void Operation(string s)
{
Console.WriteLine(s);
}
}
创建一个简单工厂对象,让简单工厂来负责创建接口对象。 然后让客户端通过工厂来获取 接口对象, 而不再由客户端自己去创建接口的对象了。
静态工厂
使用简单工厂的时候,通常不用创建简单工厂类的类实例,没有创建实例的必要。因此可以把简单工厂类实现成一个工具类,直接使用静态方法就可以了。也就是说简单工厂的方法通常是静态的,所以也被称为静态工厂。
可配置的简单工厂
在简单工厂的防范里面可以使用反射,当然也可以使用IoC/DI来实现。
标签:02,创建,IApi,工厂,api,简单,public From: https://www.cnblogs.com/huiteresa/p/17445822.html