WEB开发网
开发学院软件开发Java 轻量级开发的成功秘诀,第 2 部分: 如何减轻容器 阅读

轻量级开发的成功秘诀,第 2 部分: 如何减轻容器

 2009-11-11 00:00:00 来源:WEB开发网   
核心提示: 您也会看到,应用程序的固有层次之间自然地相互依赖,轻量级开发的成功秘诀,第 2 部分: 如何减轻容器(5),您可能拥有一个由控制器调用的 Web 用户界面(UI)视图,它调用外观层,需要附加说明的是:调用代码和被调用方法都不需要变更,而且,外观层调用数据访问对象,数据访问对象调用对象关系映射

您也会看到,应用程序的固有层次之间自然地相互依赖。您可能拥有一个由控制器调用的 Web 用户界面(UI)视图,它调用外观层,外观层调用数据访问对象,数据访问对象调用对象关系映射,对象关系映射调用数据库。这些关系就是依赖性。如果能将它们解耦,会更加易于编码、测试和维护。

拦截

依赖注入让您将应用程序的主要层次编织到一起,从而,这使您产生一个具有视图、模型和控制器层的松散耦合应用程序。但是,轻量级容器解决了另一个问题。您经常具有一些会影响到应用程序许多部分的关注点,比如日志记录、远程控制或安全性。EJB 通过使用代码生成和容器/组件接口解决了该问题。我们有能力做到更好。

您可以在合适的位置编写自己的横切关注点(crosscutting concern),然后使用称为拦截(interceptor)的技术将关注点绑定到需要它的方法上。比如说,一个调用者想要调用称为 speak() 的方法。使用拦截策略(参阅图 1),您使用 speak() 方法在目标对象前创建了一个代理。该代理应有一个 speak() 方法,该方法与原始目标对象拥有相同的接口。当调用者调用代理时,您可以在调用真实方法前,轻松添加您需要的任何定制特性。


图 1. 轻量级容器的主要拦截策略
轻量级开发的成功秘诀,第 2 部分: 如何减轻容器

通过使用拦截,您可以更加高效地添加类似安全、声明性事务和远程控制这些自定义服务到 POJO 方法。需要附加说明的是:调用代码和被调用方法都不需要变更。而且,类似 Spring 的容器都预装了拦截来执行这些任务和其他任务。

上一页  1 2 3 4 5 6 7  下一页

Tags:轻量级 开发 成功

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接