posts - 10,  comments - 26,  trackbacks - 0

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

FeedBack:
# re: 设计范式笔记-Factory Method
2006-06-27 23:02 | 白云
good! 代码够精炼,突出重点。  回复  更多评论
  
# re: 设计范式笔记-Factory Method
2006-06-28 12:29 | haven
一头雾水!

你到底要说什么?

看看loki库是怎么做的吧!

不然的化看看
http://blog.csdn.net/jicao/archive/2006/06/27/840270.aspx

  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2006年6月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

常用链接

留言簿(1)

随笔分类(9)

随笔档案(10)

文章分类(7)

文章档案(7)

收藏夹(1)

Articles

C++ Template

Cpp News

Open Source C++ Compiler

友情链接-Blogs

搜索

  •  

积分与排名

  • 积分 - 8425
  • 排名 - 1263

最新评论