領測軟件測試網
軟件測試技術網
\$\PD{5Ljf
Gubm3E lEu
-I4W3Kh}3bI*U清單 6. 工廠對 GUI 隱藏了實現細節
'x"L/pS`Q!u ]?O軟件測試技術網 K'|*jri9ak4l'?6A
軟件測試技術網0`i.Z&|Gpublic class WidgetDAOFactory {軟件測試技術網:`R/B1SXp2N`X7O
public static WidgetDAO manufacture(){ 軟件測試技術網;V8dI^$F
//..軟件測試技術網&_K0{3~2cO
N!nz2V
}
8@\"\|"L*f}
]8[3ua] \'{
q1I
JZzG
?_g&aE\ mX使 GUI 引用對某個接口類型的數據檢索可以為創建不同的實現提供靈活性。在這種情況下,部件信息保存在數據庫中,因此可以創建一個 WidgetDAOImpl
類與數據庫直接通信,如清單 7 所示:
f%b#pe]4ED-r
;II/f5bU"P8a0z
{
.p`{/P:s清單 7. WidgetDAO 類型的任務
IRO
rV+O7n4m9y`軟件測試技術網'wJM,y
n0|m
0CfC%l I4^!D(~F
public class WidgetDAOImpl implements WidgetDAO {
public String getOrderStatus(String value) {
//...
}
}
|
軟件測試技術網~3o+S7H/j{軟件測試技術網?+EfnWR8SE+f
o'\&L![4o)Fq}注意,實現代碼并未包含在這些例子中。這些代碼并不重要,真正有價值的是原理。您不應該關心 WidgetDAOImpl
的 getOrderStatus()
方法是如何運作的。它可以從數據庫或者從某個文件系統中獲得狀態信息,但重點是這不會對您產生什么影響!
bLU5|-|
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月