小草的天空
posts - 2, comments - 2, trackbacks - 0, articles - 23
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
《java与模式》(阎宏) 学习笔记4(抽象工厂模式)
Posted on 2008-12-23 14:23
齐纳尔多
阅读(131)
评论(0)
编辑
收藏
所属分类:
设计模式
一、抽象工厂模式和工厂方法模式的区别是:
工厂方法模式是一个工厂具体类对应一个产品的等级结构,而Abstract Factory 是一个工厂的具体类相应多个产品的等级结构
二、UML图
三:简单测试代码如下:
1
/** */
/**
2
* 抽象的工厂接口
3
*/
4
public
interface
IFactory
{
5
/** */
/**
6
* 等级结构A的工厂方法
7
*/
8
public
IProductA factoryA();
9
10
/** */
/**
11
* 等级结构B的工厂方法
12
*/
13
public
IProductB factoryB();
14
}
15
public
class
FactoryA
implements
IFactory
{
16
17
public
IProductA factoryA()
{
18
return
new
ProductA();
19
}
20
21
public
IProductB factoryB()
{
22
return
new
ProductB();
23
}
24
25
}
26
public
class
FactoryB
implements
IFactory
{
27
28
public
IProductA factoryA()
{
29
return
new
ProductA();
30
}
31
32
public
IProductB factoryB()
{
33
return
new
ProductB();
34
}
35
36
}
37
/** */
/**
38
* 产品的接口
39
*/
40
41
public
interface
IProductA
{
42
void
helloA();
43
}
44
45
public
class
ProductA
implements
IProductA
{
46
47
public
void
helloA()
{
48
System.out.println(
"
ProductA
"
);
49
}
50
51
}
52
53
public
interface
IProductB
{
54
void
helloB();
55
}
56
public
class
ProductB
implements
IProductB
{
57
58
public
void
helloB()
{
59
System.out.println(
"
Product B
"
);
60
}
61
}
62
63
public
class
TestAbstractFactory
{
64
65
/** */
/**
66
* 测试抽象工厂模式
67
*
@param
args
68
*/
69
public
static
void
main(String[] args)
{
70
IFactory f
=
new
FactoryA();
71
f.factoryA().helloA();
72
f.factoryB().helloB();
73
74
IFactory f1
=
new
FactoryB();
75
f1.factoryA().helloA();
76
f1.factoryB().helloB();
77
}
78
79
}
80
81
82
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
《java与模式》(阎宏) 学习笔记5(单例模式)
《java与模式》(阎宏) 学习笔记4(抽象工厂模式)
《java与模式》(阎宏) 学习笔记III(工厂方法模式)
《java与模式》(阎宏) 学习笔记II(简单工厂模式)
《java与模式》(阎宏) 学习笔记I
Powered by:
BlogJava
Copyright © 齐纳尔多
日历
<
2024年12月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
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
31
1
2
3
4
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(2)
给我留言
查看公开留言
查看私人留言
文章分类
Apache open source
DataBase
DB2
ExtJs2.0
Hibernate
java(7)
Javascript
JMX
JSF(2)
open Source(1)
oracle(1)
sybase(1)
服务器(软件知识)(2)
程序员知识(1)
英语学习
设计模式(5)
面试资料(5)
文章档案
2012年12月 (1)
2012年3月 (2)
2012年2月 (13)
2011年2月 (1)
2010年8月 (1)
2008年12月 (7)
相关博客
搜索
最新评论
1. re: 求一个字符串是否是回文数
评论内容较长,点击标题查看
--n
2. re: 求一个字符串是否是回文数
n
--n
阅读排行榜
评论排行榜