码迷,mamicode.com
首页 > 编程语言 > 详细

8 -- 深入使用Spring -- 7...2 MVC框架与Spring整合的思考

时间:2017-04-01 23:03:20      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:java ee   组件   dex   问题   模式   基于   new   运行   导致   

      8.7.2 MVC 框架与Spring整合的思考

        对于一个基于B/S架构的JAVA EE 应用而言,用户请求总是向MVC框架的控制器请求,而当控制器拦截到用户请求后,必须调用业务逻辑组件来处理用户请求。此时有一个问题:控制器应该如何获得业务逻辑组件?

        最容易想到的策略是,直接通过new 关键字创建业务逻辑组件,然后调用业务逻辑组件的方法,根据业务逻辑方法的返回值确定结果。

        在实际的应用中,很少见到采用上面的访问策略,因为这是一种非常差的策略。不这样做至少有如下三个原因:

          ⊙ 控制器直接创建业务逻辑组件,导致控制器和业务逻辑组件的耦合降低到代码层次,不利于高层次解耦。

          ⊙ 控制器不应该负责业务逻辑组件的创建,控制器只是业务逻辑组件的使用者,无须关心业务逻辑组件的实现。

          ⊙ 每次创建新的业务逻辑组件将导致性能下降。

        答案是采用工厂模式,或者服务定位器模式。对于采用服务定位器模式,是远方访问的场景。在这种场景下,业务逻辑组件已经在某个容器中运行,并对外提供某种服务。

8 -- 深入使用Spring -- 7...2 MVC框架与Spring整合的思考

标签:java ee   组件   dex   问题   模式   基于   new   运行   导致   

原文地址:http://www.cnblogs.com/ClassNotFoundException/p/6657672.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!