ChapterJoiningMultipleDomains.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ChapterJoiningMultipleDomains

Chapter 17. Joining Multiple Domains 第十七章.连接多个域 建模时,我们先是把一个系统划分成了多个容易理解的域,但是最终还需要把这些域连接起来,形成一个统一的系统。这一章将介绍在为各个单独域建好模型后,如何把这些建好的单独域的模型连接起来。 这里主要有两种连接域的机制: One approach is explicit, if anonymous, linkages and invocations, such as inheritance or bridge operations. 一种方法是明确的关联和调用,即使是匿名的;比如继承或者桥操作。 The second style is implicit, whereby we specify separately from both domains, a set of join points between elements in each domain. 第二种类型是隐式的,我们要为每个单独域中的元素之间指定一系列结合点。其中结合点的概念类似于面向方面编程中的结合点。 面向方面编程中结合点(join points)的介绍: 面向方面编程的思想是将散落于各个业务流程之中的Cross-cutting concerns(横切关注点)抽取出来,比如说日志记录(Logging)与安全(Security)检查,设计成独立可重用的对象,这些对象就称之为Aspect(方面)。 图一:原来的业务流程 图二:横切关注点 图三:织人横切关注点 在AOP中着重于Aspect(方面)的辨识,将之从业务流程中独立出来;Aspect(方面)的具体实例称为Advice(通知):Advice中实现了Cross-cutting concerns(横切关注点)的行为或所要提供的服务。Aspect在应用程序执行时加入业务流程的点或时机称之为Joinpoint(结合点); Pointcut(切入点)指定了某个Aspect(方面)在哪些Joinpoint(结合点)上被weave(织入)到应用程序中。 17.1 Kinds of Domains(域的种类) 域是指建立一个系统时分隔成的我们容易理解的各个不同的主题。域图17.1中显示了网上书店这个系统中的所有域,每个域可以用可执行UML来建模。 Figure 17.1. Domain Chart for the Online Bookstore 17.1.1 Application User Interface(应用用户界面) 对应用用户界面的建模:给定域一个通用名称,从名称中我们可以得知用户界面如何使用的规则。例如在上面的域图中,图形用户界面???域名称Web GUI表明,我们要使用一个基于网络的应用用户界面。我们通过菜单的布局、窗口的实现技术来鉴别不同的用户界面。 图17.2是一个应用用户接口域的例子。这个域的模型更加一般化,不涉及有关书店的一丁点事情,也没有明确地指定详细的实现技术,如HTML、Java Swing、ActiveX等。 Figure 17.2. Example of a Web GUI Domain 17.1.2 Generic Service Domains 某些域代表服务,比应用更加泛化,在整个本应用或在其他不同应用中可以不断地重复使用。 考虑一下书店中库存产品的存货:当产品被邮递后,存货的数量就会相应的减少,当数量降低到预先设定好的特定水平时,就应该进货。给书店模型中添加该功能,可以增加一个新的类和状态机。但是更加恰当的解决方法是抽取出一个全新的域。在网上书店这个系统中,我们使用Inventory(存货清单)这个域,来提供监视手头产品数量以及当库存量降低到特定的阈值之下后自动进货的服务。 Figure 17.3. Class Diagram for the Inventory Domain 17.1.3 Realized Domains 有些域已经以代码的形式实现了,也不需要更进层次的建模。实现域通常包括:被用来实现其他域的实施技术(例如HTML、Java、XML);外部系统(如信用卡公司的系统和包裹邮递公司的系统);第三方组件(例如web server)。 17.2 Anonymous(匿名的)Explicit(明确的)Bridges 域之间联系的建立通常由acti

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档