我的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服務器及文件服務器的配置(配置文件記錄,不具有可讀性)(5135)
2.?DOM4J工具類(以對象的方式增加和刪除XML元素)(4761)
3.?用戶權限的解決方案(一)----------動態用戶權限樹的生成(4339)
4.?關于反sql注入和反script注入的解決(3858)
5.?共享關于List的幾個常用方法(3813)
6.?java面試題:遞歸方法(3354)
7.?胡說八道:代理模式和裝飾者模式的異同點比較(3258)
8.?用戶權限的解決方案(三)----------URL寫入的權限控制(3036)
9.?struts2系列2:Struts2 Action(一)(2886)
10.?struts2系列3:Struts2 Action(二)action 獲取參數的三種方法(2853)
Copyright java小爬蟲.
主站蜘蛛池模板:
久久久久亚洲精品无码网址
|
国产四虎免费精品视频
|
国产hs免费高清在线观看
|
亚洲伊人久久大香线蕉AV
|
午夜神器成在线人成在线人免费
|
亚洲国产成人手机在线电影bd
|
免费看男女下面日出水来
|
亚洲欧洲国产成人精品
|
免费人成视频在线
|
亚洲va中文字幕
|
亚洲福利中文字幕在线网址
|
爱情岛论坛免费视频
|
国产精品亚洲不卡一区二区三区
|
一个人免费观看日本www视频
|
亚洲综合无码AV一区二区
|
国产麻豆一精品一AV一免费
|
亚洲视频中文字幕
|
18禁无遮挡无码网站免费
|
亚洲av无码无线在线观看
|
91麻豆国产自产在线观看亚洲
|
成全高清在线观看免费
|
亚洲日韩中文字幕天堂不卡
|
暖暖免费日本在线中文
|
亚洲欧洲日产国码www
|
在线观看91精品国产不卡免费
|
日韩大片免费观看视频播放
|
亚洲欧美日韩中文字幕一区二区三区
|
亚洲а∨天堂久久精品9966
|
国产亚洲精品免费
|
国产好大好硬好爽免费不卡
|
亚洲精品无码久久久久久久
|
日韩一区二区免费视频
|
a级毛片高清免费视频就
|
亚洲日韩国产精品乱-久
|
亚洲色偷偷综合亚洲AV伊人
|
精品视频在线免费观看
|
在线观看亚洲AV每日更新无码
|
亚洲一区二区三区在线播放
|
99久久99久久精品免费看蜜桃
|
深夜免费在线视频
|
久久精品国产亚洲AV忘忧草18
|