抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。
抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。
抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。
using System;
using System.Reflection;
namespace MyApp
{
class Program
{
static void Main()
{
Operator theOperator = Factory.CreateOperatorInstance("PlusOperator");
theOperator.FirstNumber = 1;
theOperator.SecondNumber = 1;
Console.WriteLine("1+1={0}", theOperator.GetResult());
Console.WriteLine();
theOperator = Factory.CreateOperatorInstance("SubtractOperator");
theOperator.FirstNumber = 1;
theOperator.SecondNumber = 1;
Console.WriteLine("1-1={0}", theOperator.GetResult());
Console.ReadKey();
}
}
abstract class Operator
{
public double FirstNumber { get; set; }
public double SecondNumber { get; set; }
public abstract double GetResult();
}
class PlusOperator:Operator
{
public override double GetResult()
{
return FirstNumber + SecondNumber;
}
}
class SubtractOperator : Operator
{
public override double GetResult()
{
return FirstNumber - SecondNumber;
}
}
class Factory
{
public static Operator CreateOperatorInstance(string objectName)
{
return (Operator)Assembly.Load("MyApp").CreateInstance(string.Format("MyApp.{0}",objectName));
}
}
}
2161

被折叠的 条评论
为什么被折叠?



