工厂方法模式(Factory Method Pattern)
2008-07-14 11:40
288 查看
一、 工厂方法(Factory Method)模式
工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。工厂方法模式是简单工厂模式的进一步抽象和推广。由于使用了多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。
在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。这个核心类仅仅负责给出具体工厂必须实现的接口,而不接触哪一个产品类被实例化这种细节。这使得工厂方法模式可以允许系统在不修改工厂角色的情况下引进新产品。
在Factory Method模式中,工厂类与产品类往往具有平行的等级结构,它们之间一一对应。
二、 Factory Method模式角色与结构:
using System;public abstract class Light
public class BulbLight : Light
public class TubeLight : Light
public abstract class Creator
public class BulbCreator : Creator
public class TubeCreator : Creator
public class Client
// Factory Method pattern -- Real World example
using System;
using System.Collections;
// "Product"
abstract class Page
// "ConcreteProduct"
class SkillsPage : Page
// "ConcreteProduct"
class EducationPage : Page
// "ConcreteProduct"
class ExperiencePage : Page
// "ConcreteProduct"
class IntroductionPage : Page
// "ConcreteProduct"
class ResultsPage : Page
// "ConcreteProduct"
class ConclusionPage : Page
// "ConcreteProduct"
class SummaryPage : Page
// "ConcreteProduct"
class BibliographyPage : Page
// "Creator"
abstract class Document
// "ConcreteCreator"
class Resume : Document
// "ConcreteCreator"
class Report : Document
class FactoryMethodApp
public static void Main( string[] args )
Document[] docs = new Document[ 2 ];
// Note: constructors call Factory Method
docs[0] = new Resume();
docs[1] = new Report();
// Display document pages
foreach( Document document in docs )
Console.WriteLine( " " + document + " ------- " );
foreach( Page page in document.Pages )
Console.WriteLine( " " + page );
}
}
}
相关文章推荐
- 工厂方法模式(Factory Method Pattern)应用篇(直接使用工厂方法)
- 工厂方法模式(Factory Method Pattern)
- 第 5 章 工厂方法模式【Factory Method Pattern】
- 工厂方法模式(Factory Method Pattern)
- 工厂模式(Factory Pattern)之简单工厂,工厂方法模式(Factory Method Pattern),抽象工厂模式(Abstract Factory Pattern)
- 工厂方法模式(Factory Method Pattern) 应用篇(上)
- 工厂方法模式(Factory Method Pattern,对象创建型模式)
- 工厂方法模式(Factory Method Pattern)
- 工厂方法模式 Factory Method Pattern
- 工厂方法模式(factory method pattern)
- 工厂方法模式(Factory Method Pattern)草书
- 工厂方法模式(Factory Method Pattern)
- Java设计模式:工厂方法模式(Factory Method Pattern)
- 六个创建型模式2:工厂方法模式-Factory Method Pattern 【学习难度:★★☆☆☆,使用频率:★★★★★】
- Net设计模式实例之工厂方法模式( Factory Method Pattern)
- 极速理解设计模式系列:9.工厂方法模式(Factory Method Pattern)
- 设计模式——工厂方法模式(Factory Method Pattern)
- java设计模式——工厂方法模式(Factory Method Pattern)
- 工厂方法模式(Factory Method Pattern)