Eclipse插件开发-如何扩展 WTP Wizard - 编程入门网
听器(Listener)来监视属性值变化。Data Model 中用 Property 来记录功能构件 的状态,并提供了访问和修改 Property 的接口。这些接口中大部分都是提供给后台的 MVC 机制使用, 例如 View 对 Property 的访问和修改,以及 Operation 在执行动作时对 Property 的访问等。用户可 以在这些访问和修改的接口中定义 Property 访问和修改规则,例如在访问 Property 的接口中,根据特 定的条件返回不同的 Property 值。用户还可以在 Data Model 中定义自己的 Property,并通过 Data Model 提供的接口对自定义的 Property 进行初始化(Init)和验证(Validate)。
用户也可以自己访问和修改 Data Model,Data Model 为用户提供了统一的方法,getProperty() 和 setProperty()。 Data Model 提供了用户收集数据的智能途径;简化了 Wizard Operation 执行并为实现和扩展 Wizard 提供了便利。下图为 Data Model 类图。 图 9. Data Model Data Model Wizard 使用 DataModel-View-Operation 模式,该模式在 Eclipse 的插件开发中经常用 到 , 被用来实现一个特定的功能构件。它的基本原理是:DataModel 用来封装功能构件的一组状态; View 用来与用户进行交互,它将用户需要的状态显示出来,并提供用户的输入接口;Operation 负责根 据状态执行特定的动作。Data Model Wizard 完整类图如下所示: 图 10. Data Model Wizard Eclipse插件开发-如何扩展 WTP Wizard(6)时间:2011-10-22 IBM 黄彦军 王浩WTP 向导设计模式 WTP Wizard 是 Data Model Wizard 的一个扩展应用,它在 Data Model Wizard 的 DataModel-View -Operation 模式基础上,添加了一个新的单元 DataModeProvider,形成 DataModel- DataModelProvider-View-Opration 模式。DataModeProvider 的出现削弱了 Data Model 的能力,使得 后者完全变成一个单纯 Property 的集合,而不再具有任何的额外功能,例如 Property 初始化,验证, 可定义的访问和设置等。Data Model 对用户完全是一个黑盒。用户如果想要访问 Data Model 或者为 Data Model 定义特定的规则,需要通过 DataModelProvider 来实现。DataModelProvider 接管了 DataModel – View-Opration 中 Data Mode 除缓存 Propety 外其余的所有功能(包括初始化,验证, 可定义的访问和设置等)。下图显示了 DataModel – DataModelProvider – View-Opration 的基本原 理。 图 11. DataModel-DataModelProvider-View-Operation 在 DataModel-DataModelProvider-View-Operation 中,Data Model 不具有语义信息,它已经退化为 一个单纯的键值对的集合,而键值的语义由 DataModelProvider 附加上去。用户在 DataModelProvider 中定义 Property 的名称,DataModelProvider 将会根据这些 Property 的定义在 DataModel 中自动创 建键值对。因此无论是访问还是修改特定的 Property,都需要通过 DataModelProvider。 典型的访问 Property 方法的代码片断如下:
与 DataModel-View-Opration 相比 DataModel-DataModelProvider-View-Opration 具有如下特点: Data Model 可以专心存储数据,而不需要考虑与其它单元的交互。因此在形式上更为统一。而事实上 ,在 WTP 中,Data Model 就仅包含了 DataModel 和 DataModelImp 两种形式。 将 Data Model 进一步解耦,使得状态的保存和存取功能分开。有利于对存取功能的进一步扩展。 Eclipse插件开发-如何扩展 WTP Wiz |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |