• 软件测试技术
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘

字号: | 推荐给好友 上一篇 | 下一篇

追求代码质量: 谨防紧密耦合!

发布: 2008-6-13 15:42 | 作者: 不详 | 来源: 领测软件测试网编辑整理 | 查看: 74次 | 进入软件测试论坛讨论

领测软件测试网 软件测试技术网 \$\PD{5Ljf

Gubm3E l Eu
-I4W3Kh}3bI*U清单 6. 工厂对 GUI 隐藏了实现细节
'x"L/pS`Q!u ]?O软件测试技术网 K'|*jri9ak4l'?6A

软件测试技术网0`i.Z&|G

public 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 类型的任务
I RO rV+O7n4m9y`软件测试技术网'w JM,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}注意,实现代码并未包含在这些例子中。这些代码并不重要,真正有价值的是原理。您不应该关心 WidgetDAOImplgetOrderStatus() 方法是如何运作的。它可以从数据库或者从某个文件系统中获得状态信息,但重点是这不会对您产生什么影响!
bLU5|-|