小哈儿的 学习日记
像疯子一样去战斗!
posts - 13, comments - 0, trackbacks - 0, articles - 0
导航
BlogJava
首页
新随笔
联系
聚合
管理
<
2007年4月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
常用链接
我的随笔
我的评论
我的参与
留言簿
(2)
给我留言
查看公开留言
查看私人留言
我参与的团队
Dengues工作室(0/0)
随笔分类
Algorithm and Data Structure
c/c++
DB
eclipse(5)
java
java开源框架
JUnit
life(1)
OS
SOA
vs.net
Web开发(1)
XML
考试及认证(2)
面向对象与设计模式(4)
随笔档案
2007年8月 (1)
2007年5月 (2)
2007年4月 (10)
技术网站
developerWorks 中国
eclipse3.2帮助
W3C 教程
搜索
最新评论
阅读排行榜
1. 在rcp中获得父Shell的几种方法(1210)
2. 关于Eclipse首选项的几点问题(1107)
3. 发现了一个好玩的插件PatternBox(444)
4. 面向对象设计(OOD)原则(389)
5. [转]eclipse插件中取得路径的方法(345)
评论排行榜
1. 关于Eclipse首选项的几点问题(0)
2. [转]eclipse插件中取得路径的方法(0)
3. css基础知识(0)
4. 面向对象设计(OOD)原则(0)
5. 设计模式之命令(Command)模式 笔记(0)
设计模式之工厂方法(factory method) 笔记
Posted on 2007-04-18 13:48
dayue
阅读(224)
评论(0)
编辑
收藏
工厂方法设计模式是一种使用工厂原则的创造型模式。工厂原则就是 通过调用一个方法,这个方法创造一个对象的实例然后将它返回。通过向这个方法传递参数来决定返回哪个类型的对象。
工厂方法设计模式使用继承来决定返回哪个对象。基础的创造类是抽象的。而具体的创造类继承这个基类。工厂方法在基类中声明。如果工厂方法是抽象的,那么所有继承这个类的类都必须有这个方法。如果不是,则可以根据需要选择覆盖它与否。
当一个类想实例化其中一个具体类的实例时,这个类就可以通过调用具体类的工厂方法来生成正确的对象。
举例来说,假设我们有两个类,Product1和Product2。为了能接收到这两个类任何一个的实例,我们必须让他们继承或实现相同的类或接口。我们创造一个叫做Creator的抽象类。如下:
public
abstract
class
Creator
{
public
abstract
getProduct();
}
现在我们创造两个类继承Creator,叫做Product1Creator和Product2Creator。每一个都有一个getProduct方法。
例如Product1Creator:
public
class
Product1Creator
extends
Creator
{
public
Product getProduct()
{
return
new
Product1();
}
}
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
Powered by:
BlogJava
Copyright © dayue