Factory Method
是一个
Class Creational
范式。
原文
Intent
部分
:
“
This creates a dilemma: The framework must instantiate classes, but it only knows about abstract classes, which it cannot instantiate.
”
1、
Application
使用
Factory Method
对
Framework
隐藏了
Document
的实现细节;
class Document
{
virtual void open() = 0;
virtual void close() = 0;
};
class Factory
{
public:
//
一个虚函数,被子类实现以便决定真实的
Document
类型;
virtual Document createDocument() { return 0;};
};
class Application : public Factory
{
…
};
class Framework
{
private:
Application _application;
Document _document;
…
};
2、
提供
hook
Hook
是用来挂东西的。这个被挂的东西要求与
Hook
的定义具有相同的原型。在
C
中,它被一个函数指针定义;在
C++
中,由于
overriding
的提供,它可以被虚函数以及纯虚函数定义;
posted on 2006-06-27 14:58
静静的流水 阅读(575)
评论(2) 编辑 收藏 引用 所属分类:
Design Patterns