知识大全 JavaOne大会发布《J2EE核心模式》第二版

Posted

篇首语:笛里谁知壮士心,沙头空照征人骨。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JavaOne大会发布《J2EE核心模式》第二版相关的知识,希望对你有一定的参考价值。

JavaOne大会发布《J2EE核心模式》第二版  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  /  by Dan Malks和Deepak Alur  June          在 年的JavaOne大会上 我们推出了《J EE核心模式》 里面包含一个模式目录 该模式目录中涉及了 个J EE的设计模式 这些模式是J EE平台下软件设计师和系统架构师经常遇到的典型问题及其解决方案 这本书里面也列举了无数糟糕的实现并对它们进行了重构 通过这些例子的学习 你可以改善你现有的设计 所有的这些模式都是在我们给客户创建成功的J EE应用过程中被发现并提炼出来的          模式与交流技术问题及其解决方案息息相关 他们可以让我们记录一些反复出现的问题及其解决方案并与其他人进行交流 写《J EE核心模式》的一个动力就是人们常把 学习J EE技术 与 学习用J EE技术进行设计 混淆起来 现存的许多Java书籍大都介绍J EE技术的各个方面 却几乎没有哪本书介绍如何应用这些技术 基于作为Sun专家服务Java中心的Java系统架构师的经验 我们觉得我们可以填补这个空白          不过那已经是过去了 下面我们谈现在         《J EE核心模式》第一版出版以后 我们收到读者对那 个模式大量的反馈意见 过去的几年中 J EE模式讨论区非常活跃 注册会员也超过 人 我们很高兴能从j eepatte收到大量读者的直接反馈意见 这几年中 我们又做了几个重要的大型J EE结构 也参与几个项目的开发 其间我们不断地应用这些模式 同时又总结出了另外的一些模式          基于大家的反馈以及我们在工作中取得的经验 在 年的JavaOne大会上 我们又推出该书的第二版 原有的 个模式全部都进行了修正和更新 引进许多新的实现策略和例程 增加了有关Web服务(Web service)的内容 覆蓋了最新的J EE 我们又引进了 个新的模式 那么现在一共有 个J EE设计模式 新增加的 个模式主旨在于改进模式语言 提供了高度抽象 你可以用来构造和理解J EE应用          模式目录         我们在第二版种引入了 个新的模式 每一层两个     表示层模式   环境对象(Context Object)   应用控制器(Application Controller )  业务层   应用服务(Application Service )   业务对象(Business Object )  集成层模式   域存储(Domain Store)   Web服务代理(Web Service Broker )  下面图中显示了模式目录中的 个模式 图 图 图 分别显示了各层中的模式 图 显示了各个模式之间的关系 请注意 所有的模式都已经修正并更新过 包括了一些新的实现策略以及一些新的例程       图   表示层模式      图   业务层模式      图   集成层模式      图   各模式之间的关系  精选模式         这一部分 我们对新引进的 个模式的一小部分进行一个简单的介绍 其他更详细的信息 包括其他模式 实现策略 例程 UML框图 糟糕的实现及J EE重构等 请参考 J EE核心模式          虽然直到现在环境对象(Context Object)才被记录为一个模式 但是实际上我们在工作中会经常用到它 环境对象(Context Object)的使用可以提高系统的的可复用性 可维护性 可扩展性以及易测试性 下面我们介绍一下这个模式所涉及的问题 解决方案 UML类图 UML序列图以及使用这个模式的后果          环境对象(Context Object)         问题     你想避免在相关环境之外使用与系统特定协议有关的信息          一个应用程序总是要通过请求/响应的生命周期使用一些系统信息 比如请求信息 配置信息以及安全性数据等 这些系统信息总是与特定的处理环境有关 如果应用程序的组件或服务在该特定环境之外直接使用这些系统信息的话 那么这些组件的灵活性和复用性就降低了 在特定环境的外部使用协议相关的API就意味着所有使用这些API的组件都被完全曝露了 并且过于暴露了细节 每一个客户组件因而都与特定的协议紧紧绑定在一起          解决方案         创建一个环境对象 以一种与协议无关的方式封装系统信息 然后在整个应用程序内部使用这个环境对象          如下面图 所示 把系统信息封装在一个环境对象中 允许程序的其它部分共享访问 这样就可以避免把应用同特定的协议绑定在一起 比方说 HTML form中每个域都是一个HTTP请求参数 如果使用一个环境对象以一种与协议无关的方式存储这些数据的话 那么数据的转换和验证就会变得容易一些 而且 程序的其它部分也可以直接从环境对象中访问这些信息 不用考虑HTTP协议的问题 如果协议发生变化了 那么只用修改环境对象就行了 应用程序的其它部分不用作任何改动       图 环境对象(Context Object)的UML类图     结果    提高了可复用性和可维护性  既然应用程序的接口独立于特定协议 那么其中所定义的组件和子系统就更通用 可以被各种各样的客户端复用   提高了易测试性  使用环境对象模式可以帮助清除与特定的Web容器或应用服务器相关的代码 如果限制或者消除了这些依赖 可以更容易进行测试 比如说可以使用一些自动测试工具 例如使用JUnit来进行自动测试   降低了接口变化的约束  原来应用程序的接口接受大量的系统信息 现在使用环境对象封装这些数据 应用程序只用接受环境对象就可以了 这样可以降低应用程序与特定平台的耦合度 使得以后的修改可以更容易进行 这对于开发应用程序框架非常重要 当然对于开发通用程序也很有价值   性能的降低  使用环境对象模式要在对象间传递各种数据 因而会导致一定程度性能的下降 不过性能的些微下降与使用环境对象带来的好处 比如应用程序组件复用性提高 应用更容易维护和修改等等比起来 实在是微不足道   我们在业务层模式中新增加了两个模式 其中之一就是应用服务(Application Service) 这个模式与普通的业务逻辑有关 因为如果使用Session Façades的话 就会导致代码重复 而如果把这些逻辑封装在业务对象(Business Object)的话 又会导致对象数量的剧增          应用服务(Application Service)         问题         你想跨越几个业务层组件和服务通过聚合来形成一个业务逻辑         服务门面(Service facade) 像Session Façade或者POJO Façade几乎不包含业务逻辑 只是对外提供了一个简单的 粗糙的接口 业务对象(Business Object)封装了一组相关业务操作的行为 用例(Use Case)用来协调这些业务对象和服务 而应用程序则用来实现这些用例 然而 你不应该让用例协调业务对象(Business Object)内部的行为 这样会增加依耦合性 降低这些业务对象间的内聚力 同样 你也不应该把业务逻辑加到服务门面(Service facade)上 因为业务逻辑在不同的门面之间潜在地复制了代码 这样会降低通用代码的复用性和可维护性          解决方案         使用一个应用服务(Application Service)聚合各种行为来提供一个统一的服务层          应用服务(Application Service)提供了一个实现业务逻辑的中心位置 这个业务逻辑可能封装了各种业务对象和服务 这种实现业务逻辑的方式 可以降低业务对象间的耦合性 使用应用服务(Application Service)模式 你可以把分散的 使用底层业务对象和服务的组件封装成为一个高级的业务逻辑          即使你的应用程序中没有用到业务对象(Business Object) 你也可以使用业务服务(Application Service)模式来提供一个统一的业务逻辑实现层 这种情况下 应用服务(Application Service)可能会包含你程序中实现不同服务必需的所有中间业务逻辑 如果要处理持久性数据的时候 可能还会包括数据访问对象(Data Access Object DAO)      图 应用服务(Application Service) cha138/Article/program/Java/gj/201311/27338

相关参考

知识大全 请问谁那有袁行霈《中国文学史》(第二版)的笔记啊

请问谁那有袁行霈《中国文学史》(第二版)的笔记啊?在网上看了好多都是不配套的!急用!好心人帮帮忙吧这个挺难找到的,第二版的笔记比较多,建议可以像老师拷一份课件,然后把重点的打印出来,和笔记一样的,毕竟

知识大全 求新视野大学英语读写教程(第二版)1、2、3、4、册,课文翻译

求新视野大学英语读写教程(第二版)1、2、3、4、册,课文翻译第一册::wenku.baidu./link?url=lkpkgVjrqvFpM0AQtM7g5fiAkxbTaPrfD8VahvYa3q

知识大全 J2EE设计模式之State模式

J2EE设计模式之State模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  设计模式这个概念

知识大全 J2EE相关设计模式讨论

J2EE相关设计模式讨论  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  设计模式这个概念现在是满

知识大全 J2EE中的设计模式

J2EE中的设计模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  什么是DesignPatte

知识大全 J2EE中几种业务代理模式的实现和比较

J2EE中几种业务代理模式的实现和比较  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  什么是业务

知识大全 急

谁有新视野大学英语听说教程第二版第一册网上作业的答案,主要是quiz。急!quiz在别人递交后也不会显示答案,而且再也回不到做题的页面,只能老师修改给你答案,网上不会显示正确答案。新视野大学英语第二版

湖南省石门县召开农机学术论文发布暨农业机械技能比武大会

9月18日,石门县农机学会学术论文发布暨农业机械技能比武大会在县农机化管理局举行。据了解,这次活动为期2天,征文内容涉及农机新机具的研发构想、研发成果,农机具应用技术的创新与提高,农机化管理工作的探讨

湖南省石门县召开农机学术论文发布暨农业机械技能比武大会

9月18日,石门县农机学会学术论文发布暨农业机械技能比武大会在县农机化管理局举行。据了解,这次活动为期2天,征文内容涉及农机新机具的研发构想、研发成果,农机具应用技术的创新与提高,农机化管理工作的探讨

我国的国体是人民民主专政,政体是人民代表大会制度。二者的核心内容都是坚持__

我国的国体是人民民主专政,政体是人民代表大会制度。二者的核心内容都是坚持_____。A、共产党的领导核心B、以工农联盟为基础C、四项基本原则D、一切权力属于人民答案:D解析:在我国,一切权力属于人民是