State情势在客户端软件中的操纵[Java编程]
本文“State情势在客户端软件中的操纵[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在对一个J2EE项目的重构、增添新功效的历程中,对客户端GUI程序,我们利用了State情势.后果显示,该情势的利用,不但削减了客户端GUI程序的程序规模(LOC),并且,该部份的开辟及单元测试时间大大削减,同时,在集成测试中发现的缺陷数目比利用该情势前平均削减了3倍.本文就该项目中利用State情势的方法举行介绍.
引言
在分层软件体系构造中,服务端程序关注于实现业务逻辑,客户端程序则包含用户界面.服务端程序由客户端程序调用,其恳求、呼应情势在计划时已经肯定,运行时呈现问题的概率较小.相反,客户端程序与用户直接交互,固然有精确规定的操作次序或情势,但是用户的操作是不可预知的,程序必须处理各种操作错误、加上数据输入有效考证等要求,使得客户端程序的开辟本钱上升.
因而,一旦有经过充分测试的、乃至是通过验收的用户交互程序GUI,应当尽大概的重用该GUI,以提高软件的坚固性、可保护性.
在对一个J2EE项目的重构、增添新功效的历程中,对客户端GUI程序,我们利用了State情势.后果显示,该情势的利用,不但削减了客户端GUI程序的程序规模(LOC),并且,该部份的开辟及单元测试时间大大削减,同时,在集成测试中发现的缺陷数目比利用该情势前平均削减了3倍.本文就该项目中利用State情势的方法举行介绍.
1. State情势
首先,先简单介绍一下State情势.
该情势是指在对象的内部状况改变时改变对象的行为【1】.其构造如图1所示.
图1 State情势构造
情势中各个参与者职责简介以下:
Context:用户对象,拥有一个State范例的成员,以标识对象的当前状况;
State:接口或基类,封装与Context的特定状况相关的行为;
ConcreteState:接口实现类或子类,实现了一个与Context某个状况相关的行为.
运行时,Context将与状况相关的恳求拜托给当前的ConcreteState对象处理.关于State情势更细致的介绍,请参阅参考文献1.
2. 客户端利用
本情势的目标是别离客户端软件中的改变部份与不变部份,以使得改变的部份可独立于不变的部份,有利于扩大新的功效,也有利于保护.
在项目中,关于客户端GUI的重用有两种方法.
方法1实用于:相同数据调集,差别操作情势;此时,在GUI中定义客户端数据处理考证逻辑,差别的状况对象封装了差别的操作情势;
方法2实用于:差别数据调集,相同操作情势;此时,在状况对象中定义客户端数据处理考证逻辑,差别的状况对象封装了差别的数据调集操作.
以上是“State情势在客户端软件中的操纵[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |