XDE中模式驱动的设计与开发(二)

第二部分:XDE中的模式机制

1 概述

在前一期的系列文章中,我们对模式,特别是设计模式在UML中的建模方法作了简要地,理论上的介绍。现在该要进行实践了。现在支持模式建模并能够基于模式进行应用程序开发的工具并不是很多。Rational XDE是其中最为著名的一个,并且确实提供了极为优秀的功能。

XDE的Java版有两种,一种是基于Eclipse内核的独立运行版本(目前只支持Eclipse1.0)。另为一个是集成在WASD中的,作为WASD的一个插件同其以其运行(目前只支持WASD 4.0)。实际上WASD使用的就是Eclipse的内核,所以,这两者在功能上(甚至外观上)都没有多大的区别。现在Rational已经被IBM所合并,所以有足够的理由可以相信,在未来的WSAD中,XDE的功能会被更加完美的整合到其中。

XDE最大的卖点有两个,一个是分析设计同代码编写在是在同一个IDE中完成的,并可以进行正向-逆向工程,完美的实现迭代开发中所需要的模型-代码的映射。另外一个就是这篇文章的主题:模式的定义和应用。你不仅可以使用XDE中预定义好了的23个经典的GoF设计模式,还可以自己定义模式,在开发中应用它们,或者导出供其他人使用。

模式机制是XDE中实现重用的核心技术。你可以通过这个机制来实现模型元素和其它制品的重用。它提供了Model-to-Model和Model-to-Code的变换功能。这使得你能够将一个涉及的模型作为来帮助一个特定的设计。它还是得你能够将一个模式中的元素内容合并到已存的设计模型中。

2 XDE中的模式描述

在XDE中,模式的描述基本上遵循了UML所定义的参数化协作标准。但是,由于UML中定义的只是如何来对模式建模,而对如何定义模式,应用模式,以及具体的代码生成并没有过多涉及。因而,XDE在UML的基础上,作了一些合理的扩展。

首先,我们来看一看Asset的概念。一个Asset是一些软件制品的集合,它们被组织在一起以期能够解决某一个问题。Asset能够通过其定义的可变点(Variability Point)来进行扩展,在进行Asset重用的时候,开发者需要对这些可变点提供具体的内容来充实Asset,以完成Asset的重用。

Rational现在推崇一种Asset Based Development过程方法,来作为其对RUP的一个补充,Asset就是其关键。这儿并不打算对Asset和Asset Based Development作过多地论述,那已经偏离了这篇文章的主题。从模式这个范畴而言,你可以简单的把Asset看作是模式的定义,描述及其具体的实现。

在XDE中, Asset表示为一个构造型为<<Asset>>的包。被申明为<<Asset>>的包可以被导出以利于在不同的开发者,甚至不同的工具中重用,只要它们都遵循Asset的规范Reusable Asset Specification。

模式是一种Asset,但是Asset并不一定是模式。一个模型可以被包装在一个Asset中,而其中并不带有任何的模式描述。XDE能够处理这两种可重用项目。在XDE中,模式表示为包含在一个<<Asset>>包中的,带有模板参数的合作图。有很多种方法可以创建一个<<Asset>>包,但需要注意的是,创建一个UML的包并手工地将其版型设置为<<Asset>>并不会将这个包注册为模式。

在XDE中,<<Asset>>包可以被导出为一个.ras文件。一个.ras文件实际上就是一个zip文件,不过它有着自己的内容结构,这和J2EE中的.war文件很类似。它使用了rasset.xml和resource.xml这两个xml文件来提供对这个压缩文档的描述。RASAsset.xsd文件是RAS的XML Schema,定义rasset.xml和resource.xml这两个文档的内容格式和含义。其它的文件是模型和文档制品。

时间: 2024-08-07 01:35:24

XDE中模式驱动的设计与开发(二)的相关文章

XDE中模式驱动的设计与开发(三)

第三部分:XDE中模式的高级话题 在前面的部分中,我们详细介绍了XDE的使用方法,但是XDE中关于模式的概念有很多,有一些很直接,而有一些却比较的隐讳.这一部分的内容,将对XDE中的一些高级概念作初步的阐释,并给出了一些小的例子.希望能够帮助大家更在对XDE本身,以及XDE所提倡的模式驱动的开发方法有更多,更为深入地了解.如果没有看过前几期的读者,还是最好找来看看,直接看着一期的内容,理解起来可能会有一些困难. 1.代码模版(Code Template) 模式,或者说设计模式,很大程度上是对对象

XDE中模式驱动的设计与开发(一)

摘要: 软件模式,特别是设计模式在现今的软件开发中越来越重要.在许多的标准,工具,以及开发方法中都引入了模式的概念.本文介绍了如何在UML中对软件模式进行建模,并结合具体的工具Rational XDE,对如何定义,如何应用模式作了详细地介绍,并指出了一些相关的问题. 第一部分:模式的UML表示 1.1 软件模式 软件模式(Software Pattern)的概念由来已久,当初软件业从建筑业等其他的工程行业中汲取模式的概念,并把它演化成为软件模式的时候,无疑的是软件工程领域中一项革命的成果.而Go

设计与开发JAX-WS 2.0 Web服务

开始之前 关于本教程 在本教程中,我们将设计和开发一个订单处理应用程序,并将其功能作为 Web 服务公开,以便各种使用者以独立于平台的方式提交订单信息. 目标 完成了此教程后,可以应用相关概念和知识来使用 JAX-WS 技术为应用程序开发 Web 服务. 先决条件 要成功完成此教程,应该对 Web 服务技术具有基本的了解,而且需要能较为熟练地进行 Java 编程. 系统要求 要运行此教程中的示例,需要安装 Java Platform, Standard Edition (Java SE) 6.0

领域驱动设计和开发实战(转)

背景 领域驱动设计(DDD)的中心内容是如何将业务领域概念映射到软件工件中.大部分关于此主题的著作和文章都以Eric Evans的书<领域驱动设计>为基础,主要从概念和设计的角度探讨领域建模和设计情况.这些著作讨论实体.值对象.服务等DDD的主要内容,或者谈论通用语言.界定的上下文(Bounded Context)和防护层(Anti-Corruption Layer)这些的概念. 本文旨在从实践的角度探讨领域建模和设计,涉及如何着手处理领域模型并实际地实现它.我们将着眼于技术主管和架构师在实现

基于Docker的开发模式驱动持续集成落地实施

11月30日,资深质量优化专家陈能技老师,在[DBA+社群]中间件用户组进行了一次主题为"基于Docker的开发模式驱动持续集成落地实施"的线上分享.小编特别整理出其中精华内容,供大家学习交流.同时,也非常感谢陈能技老师对DBA+社群给予的大力支持.    嘉宾简介   资深质量优化专家,12年软件测试与质量管理经验 <软件性能测试诊断分析与优化>等多本IT畅销书作者 演讲实录   今天主要交流的主题是基于Docker的开发模式如何驱动持续集成落地实施,这里会涉及两个主要的

领域驱动设计和开发实战-住房贷款处理系统

本文先阐述领域驱动设计的基本概念,然后以住房贷款系统的需求为引线,一步一步实战讲解如何进行领域驱动设计的开发,文章来源与网上,先贴出与大家一起分享. 李锡远 2010-8-20   背景 领域驱动设计(DDD)的中心内容是如何将业务领域概念映射到软件工件中.大部分关于此主题的著作和文章都以Eric Evans的书<领域驱动设计>为基础,主要从概念和设计的角度探讨领域建模和设计情况.这些著作讨论实体.值对象.服务等DDD的主要内容,或者谈论通用语言.界定的上下文(Bounded Context)

领域驱动设计和开发实战

背景 领域驱动设计(DDD)的中心内容是如何将业务领域概念映射到软件工件中.大部分关于此主题的著作 和文章都以Eric Evans的书<领域驱动设计>为基础,主要从概念和设计的角度探讨领域建模和设计情况 .这些著作讨论实体.值对象.服务等DDD的主要内容,或者谈论通用语言.界定的上下文(Bounded Context)和防护层(Anti-Corruption Layer)这些的概念. 本文旨在从实践的角度探讨领域建模和设计,涉及如何着手处理领域模型并实际地实现它.我们将着 眼于技术主管和架构师

移动开发中的极简设计

本文讲的是移动开发中的极简设计, 设计是一件用户驱动很强的工作.随着用户越来越偏好更简洁的交互界面,如何剔除多余的元素,保留最基础最重要的元素是极简设计的关键.极简设计形式和功能完美结合.它最大的优点是极简的表现形式,简洁的线条,大方的留白,简约的图形化元素,就算是很复杂的内容,在这样的设计下也会显得很简洁和干练.当然,如果能有效的利用这些元素. 极简设计必须要 简洁明了和一致的可用性 .你的交互系统应该通过 清晰的视觉传达(clear visual communication) 来解决用户的问

请问在可穿戴设备的芯片固件开发中底层驱动开发与上层应用开发的区别是什么?

问题描述 请问在可穿戴设备的芯片固件开发中底层驱动开发与上层应用开发的区别是什么? 请问可穿戴设备的芯片固件开发中底层驱动开发与上层应用开发的区别是什么? 解决方案 固件底层驱动是面向硬件驱动,给上层提供调用接口,尽量与业务无关. 上层应用开发面向业务逻辑,使用底层驱动提供的接口,尽量与硬件无关