我的java旅程
posts - 30, comments - 45, trackbacks - 0, articles - 0
首頁
新隨筆
聯系
管理
設計模式(2)-------------簡單工廠模式(代碼實現)
Posted on 2010-05-20 10:26
java小爬蟲
閱讀(1875)
評論(1)
編輯
收藏
/**
*簡單工廠模式其實不是23種設計模式之一,但是它是創建型模式的最基礎的內容,
*工廠方法和抽象工廠都是在它的基礎上的改良版。
*關于簡單工廠模式的優缺點,請看設計模式(1)------工廠類設計模式。
*
*
*它是
對對象實例化的過程和需要實例化的對象進行細節上的封裝。
*
*
優點:工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態實例化相關類。對于客戶端來說,去除了與具體產品的依賴。
*
缺點:當需要增加產生一個新對象實例的方法時,需要修改工廠類,這樣,工廠類就違背了“開
-
閉原則”。
*
*/
1
package
simpleFactroy;
2
3
public
class
Operation
{
4
private
double
dNumberA;
5
private
double
dNumberB;
6
7
public
double
getResults()
{
8
return
0l
;
9
}
10
11
public
double
getdNumberA()
{
12
return
dNumberA;
13
}
14
15
public
void
setdNumberA(
double
dNumberA)
{
16
this
.dNumberA
=
dNumberA;
17
}
18
19
public
double
getdNumberB()
{
20
return
dNumberB;
21
}
22
23
public
void
setdNumberB(
double
dNumberB)
{
24
this
.dNumberB
=
dNumberB;
25
}
26
27
public
Operation(
double
dNumberA,
double
dNumberB)
{
28
this
.dNumberA
=
dNumberA;
29
this
.dNumberB
=
dNumberB;
30
}
31
32
public
Operation(
double
dNumberA)
{
33
this
.dNumberA
=
dNumberA;
34
}
35
36
public
Operation()
{
37
38
}
39
40
41
}
42
43
44
package
simpleFactroy;
45
46
public
class
OperationAdd
extends
Operation
{
47
public
double
getResults()
{
48
return
getdNumberA()
+
getdNumberB() ;
49
}
50
}
51
52
53
package
simpleFactroy;
54
55
public
class
OperationSub
extends
Operation
{
56
57
public
double
getResults()
{
58
return
getdNumberA()
-
getdNumberB() ;
59
}
60
61
}
62
63
64
65
package
simpleFactroy;
66
67
public
class
OperationSqrt
extends
Operation
{
68
69
@Override
70
public
double
getResults()
{
71
return
Math.sqrt(getdNumberA());
72
}
73
74
75
}
76
77
78
79
package
simpleFactroy;
80
81
public
class
OperationFactroy
{
82
public
static
Operation getOperation(String opr)
{
83
Operation operation
=
null
;
84
if
(opr.equals(
"
+
"
))
{
85
operation
=
new
OperationAdd();
86
}
else
if
(opr.equals(
"
-
"
))
{
87
operation
=
new
OperationSub();
88
}
else
{
89
operation
=
new
OperationSqrt();
90
}
91
return
operation ;
92
}
93
94
}
95
96
97
98
package
simpleFactroy;
99
100
import
java.util.Scanner;
101
102
103
public
class
TestCalculate
{
104
public
static
void
main(String[] args)
throws
Exception
{
105
while
(
true
)
{
106
Scanner src
=
new
Scanner(System.in);
107
double
a
=
src.nextDouble();
108
String operation
=
src.next();
109
double
b
=
src.nextDouble();
110
System.out.println(calculate(a, operation, b));
111
System.out.println(calculate(a));
112
}
113
}
114
115
public
static
double
calculate(
double
a,String operation,
double
b )
{
116
Operation opr
=
OperationFactroy.getOperation(operation);
117
opr.setdNumberA(a);
118
opr.setdNumberB(b);
119
return
opr.getResults();
120
}
121
public
static
double
calculate(
double
a)
{
122
Operation opr
=
OperationFactroy.getOperation(
""
);
123
opr.setdNumberA(a);
124
return
opr.getResults();
125
}
126
127
}
128
Feedback
#
re: 設計模式(2)-------------簡單工廠模式(代碼實現)
回復
更多評論
2010-05-20 22:27 by
wjmgyn
大話設計 模式看多了。。。。
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
搜索
最新評論
1.?re: apache服務器及文件服務器的配置(配置文件記錄,不具有可讀性)
麻煩你標記一下重要的地方吧
--無量
2.?re: apache服務器及文件服務器的配置(配置文件記錄,不具有可讀性)
@cxh8318
其實就是個存檔...
也就是備份,不具有什么價值。
標題和摘要已經寫得很明白了!
--java小爬蟲
3.?re: apache服務器及文件服務器的配置(配置文件記錄,不具有可讀性)
真不知道想說明什么
--cxh8318
4.?re: 胡說八道:代理模式和裝飾者模式的異同點比較
其實,它們的著重點一個在于“增加”職責,另一個在于“控制”訪問。這是它們最本質的區別。
由此可以看到:學習設計模式重點在于“語義”上把握,而不是追求它的“形式
--bonamana
5.?re: 用戶權限的解決方案(三)----------URL寫入的權限控制
我強烈建議你去學習巴巴運動網視頻
--威爾
閱讀排行榜
1.?apache服務器及文件服務器的配置(配置文件記錄,不具有可讀性)(5134)
2.?DOM4J工具類(以對象的方式增加和刪除XML元素)(4761)
3.?用戶權限的解決方案(一)----------動態用戶權限樹的生成(4338)
4.?關于反sql注入和反script注入的解決(3857)
5.?共享關于List的幾個常用方法(3813)
6.?java面試題:遞歸方法(3352)
7.?胡說八道:代理模式和裝飾者模式的異同點比較(3258)
8.?用戶權限的解決方案(三)----------URL寫入的權限控制(3034)
9.?struts2系列2:Struts2 Action(一)(2886)
10.?struts2系列3:Struts2 Action(二)action 獲取參數的三種方法(2853)
Copyright java小爬蟲.
主站蜘蛛池模板:
最近中文字幕电影大全免费版
|
国产网站免费观看
|
成人毛片100免费观看
|
亚洲欧美日韩一区二区三区
|
67194熟妇在线永久免费观看
|
福利片免费一区二区三区
|
亚洲春黄在线观看
|
亚洲成色www久久网站夜月
|
免费在线观看理论片
|
18禁成年无码免费网站无遮挡
|
亚洲免费在线播放
|
最近免费mv在线观看动漫
|
一本一道dvd在线观看免费视频
|
久久夜色精品国产噜噜亚洲a
|
亚洲经典在线中文字幕
|
亚洲国产精品无码AAA片
|
国产成人精品日本亚洲专区61
|
亚洲av日韩综合一区二区三区
|
妞干网手机免费视频
|
91免费在线播放
|
3344免费播放观看视频
|
一级毛片全部免费播放
|
国产成人无码区免费内射一片色欲
|
fc2成年免费共享视频网站
|
日日狠狠久久偷偷色综合免费
|
免费少妇a级毛片人成网
|
在线观看亚洲免费视频
|
女人张开腿等男人桶免费视频
|
亚洲欧洲免费无码
|
男男AV纯肉无码免费播放无码
|
亚洲丰满熟女一区二区v
|
亚洲嫩草影院在线观看
|
亚洲综合图片小说区热久久
|
亚洲精品视频免费在线观看
|
4480yy私人影院亚洲
|
亚洲第一页在线播放
|
亚洲人和日本人jizz
|
亚洲JLZZJLZZ少妇
|
日本一区二区三区免费高清在线
|
jizz18免费视频
|
国产好大好硬好爽免费不卡
|