首页 > 代码库 > 工厂方法模式
工厂方法模式
工厂模式有四个角色:抽象工厂,具体工厂,抽象产品,具体产品
1.抽象工厂
namespace 验证工厂模式
{
public abstract class AbstractCarFactory
{
public abstract Car CreateCarInstance();
}
}
2.具体工厂
namespace 验证工厂模式
{
using System.Reflection;
public class BenzCarFactory:AbstractCarFactory
{
public override Car CreateCarInstance()
{
return new BenzCar();
}
}
}
namespace 验证工厂模式
{
public class HavarCarFactory:AbstractCarFactory
{
public override Car CreateCarInstance()
{
return new HavarCar();
}
}
}
3.抽象产品
namespace 验证工厂模式
{
public abstract class Car
{
public abstract void MingDi();
}
}
4.具体产品
namespace 验证工厂模式
{
class BenzCar:Car
{
public override void MingDi()
{
Console.WriteLine("奔驰车,嗡嗡");
}
}
}
5.具体实现
public class Program
{
static void Main(string[] args)
{
AbstractCarFactory factory=new BenzCarFactory();
Car car=factory.CreateCarInstance();
car.MingDi();
//反射加载类【Load函数的参数时程序集名,createInstance的参数是 "命名空间."+"类名"】
AbstractCarFactory factory2 =
(HavarCarFactory)Assembly.Load("验证工厂模式").CreateInstance("验证工厂模式.HavarCarFactory");
Car car2=factory2.CreateCarInstance();
car2.MingDi();
Console.ReadKey();
}
}
工厂方法模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。