创建型模式-工厂方法 Creational Patterns-Factory Method
Define an interface for creating an object, but let subclass decide which class to instantiate. Factory mothed lets class defer instantiation to subclass.
Factory Method模式的几个要点
• Factory Method模式主要用于隔离类对象的使用
者和具体类型之间的耦合关系。面对一个经常变
化的具体类型,紧耦合关系会导致软件的脆弱。
• Factory Method模式通过面向对象的手法,将所
要创建的具体对象工作延迟到子类,从而实现一
种扩展(而非更改)的策略,较好地解决了这种紧耦合关系。
• Factory Method模式解决“单个对象”的需求变化,
Abstract Factory 模式解决“系列对象”的需求变
化,Builder模式解决“对象部分”的需求变化。
工厂方法创建一个对象。
1
public interface IMaker
2

{
3
Product FactoryMethod();
4
}
5
6
public class Maker: IMaker
7

{
8
public Product FactoryMethod()
9
{
10
return new ConcreteProduct();
11
}
12
}
13
14
public abstract class Product
15

{
16
//
17
}
18
19
public class ConcreteProduct : Product
20

{
21
//
22
}
public interface IMaker2


{3
Product FactoryMethod();4
}5

6
public class Maker: IMaker7


{8
public Product FactoryMethod()9

{10
return new ConcreteProduct();11
}12
}13

14
public abstract class Product15


{16
//
17
}18

19
public class ConcreteProduct : Product20


{21
//
22
}public abstract class Creator
{
public abstract Product FactoryMethod();
}
public class RealCreator : Creator
{
public override Product FactoryMethod()
{
return new ConcreteProduct();
}
}
http://www.dofactory.com/Patterns/PatternFactory.aspx

浙公网安备 33010602011771号