创建型模式-工厂方法 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模式解决“对象部分”的需求变化。


工厂方法创建一个对象。

 1public interface IMaker
 2{
 3    Product FactoryMethod();
 4}
 5
 6public class Maker: IMaker
 7{
 8    public Product FactoryMethod()
 9    {
10        return new ConcreteProduct();
11    }
12}
13
14public abstract class Product
15{
16    //
17}
18
19public class ConcreteProduct : Product
20{
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
posted @ 2007-07-25 16:46  许晓光  阅读(212)  评论(0)    收藏  举报