定义:专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂(Simple Factory)模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常它根据自变量的不同返回不同的类的实例 。
简单的说:简单工厂模式实际是由一个工厂类根据传入的参量,动态决定应该创建哪一个产品的实例。
文字描述实际案例:生产笔的工厂。厂家就是一个简单工厂,根据客户的需求,生产不同的笔(BallPen,fountain pen,lead pencil)。
优缺点:优:外界只需“消费”对象,而不必关心这些对象是如何创建和组织的。缺:当具体产品增多时,对扩展和维护非常不利。
应用情景:1.工厂类负责创建的对象比较少。2.客户只知道传入工厂类的参数,对于如何创建对象不关心。
具体代码:
using System;
namespace PEN
...{
//抽象笔类
abstrat class Pen
...{
public abstract void Process();
}
//具体子类,BallPen
class BallPen:Pen
...{
public override void Process()
...{
Console.WriteLine("Create BallPen.");
}
}
//具体子类,FountainPen
class BallPen:Pen
...{
public override void Process()
...{
Console.WriteLine("Create FountainPen.");
}
}
//简单工厂,PenFactory
class PenFactory
...{
public Pen CreatePen(string PenName) 
...{
switch(PenName.ToLower())
...{
case "ballpen": return new BallPen();
case "fountainpen": return new FountainPen();
default: return null;
}
}
}
//客户应用测试
Class Client
...{
[STAThread]
static void Main(string[] args)
...{
Pen pen;
PenFactory penFactory=new PenFactory();
pen=penFactory.CreatePen("BallPen");
pen.Process();
pen=penFactory.CreatePen("FountainPen");
pen.Process();
Console.Read();//读取按键才结束程序,方便查看结果
}
}
}
本文介绍了简单工厂模式的概念及其应用场景,并通过生产不同类型的笔的具体实例详细解释了该模式的实现方式和工作原理。
781

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



