有哪些优点和缺点届会议墙的核心J2EE模式?

什么是假设的背后吗?

这些假设有有效的在特定的环境?

有帮助吗?

解决方案

会议的外墙是一个奇妙的图案-它真的是一个具体版本的业务立面模式。这个想法是把业务职能进入离散束--如TransferMoney()、退出()、存款()...所以,你UI代码的访问东西在业务条款的操作,而不是低级别的数据访问或其他细节,它不应该感到关切。

具体地说,与本届会议的立面-你使用一届会议响到作为门面的业务-这是很好因为那样你就可以利用的所有J2EE服务(认证/授权、交易等)...

希望这可以帮助...

其他提示

主要利用本届会议的立面模式是,可以划分J2EE应用程序投入的逻辑组通过的商业功能。一个门面届会议将由一组从用户界面(即一个商业代表),并已提到适当的数据访问的对象。E.g。一PersonSessionFacade会通过的PersonBusinessDelegate然后它可以叫PersonDAO.方法上的PersonSessionFacade会,在非常少,按照增删改的图案(创造、获取、更新和删除)。

通常,最届会议的外墙是实现为无国籍届会议前总.或如果你是在弹簧的土地使用AOP交易,您可以创建一个服务功能是所有的连接点你的事务的管理。

另一个优点SessionFacade模式是,任何J2EE开发有一点点经验将立即理解你。

缺点SessionFacade的模式:它假定一个具体企业的架构,是受到限制的J2EE1.4规范(见杆*约翰逊的书籍的这些批评意见).最具破坏性的缺点是,它是更复杂的不必要的。在大多数企业 应用程序,只需要一个小的容器中,并最大的压力,在一个网络应用程序将在线处理HttpRequests或数据库的访问。因此,它不似乎值得部署servlet容器在一个单独的进程的空间,从源集.I.e。远程电话来前总创造更多的痛苦比增加。

棒约翰逊的权利要求,主要的原因,你想使用一届会议的外墙是如果你做的容器管理交易-这是不必要更现代的框架(如春。)

他说,如果你有的业务逻辑-把它放在组成。(我同意-我认为它一个更加面向对象的方法,而不是执行一届会议EJB。) http://forum.springframework.org/showthread.php?t=18155

很高兴听到对比鲜明的争论。

看来,每当你谈论什么J2EE有关-总是有一大堆的假设在幕后人们假设的一种方式或其他的-然后导致混乱。(我可能可以使问题更清楚了。)

假设(a)我们想要使用集装箱管理事务在严格意义上通过的EJB规则

会议的外墙是一个好主意-因为他们抽象的远低级别的交易数据库,以便能够提供更高级的应用程序事务的管理。

假设(b)就你的意思是一般的建筑概念的会议的立面-然后

去耦服务和消费者和提供一个友好的界面上,这是一个好主意。计算机科学已经解决了很多问题通过'增加一个额外的间接层'.

棒约翰逊写"SLSBs与远程接口,提供一个很好的解决方案对于分布式应用程序建立在RMI。然而,这是一个少数民族的要求。经验显示,我们不希望使用已分发的建筑,除非被迫的需求。我们仍然可以远程服务的客户,如果有必要通过实施远程处理的外墙上的一个良好的共同定位对象的模式。" (约翰逊,R"J2EE发展就没有EJB"p119.)

假定(c)考虑EJB规范(特别是该届会议的门面组件)是一疫病的风景好的设计,那么:

棒约翰逊写 "在一般情况下,没有很多原因可使用当地SLSB在所有在一个弹簧应用程序,作为春天提供更多能够说明性交易管理,比EJB,CMT通常是主要的动力使用本地SLSBs.所以你可能不需要第EJB层。" http://forum.springframework.org/showthread.php?t=18155

在环境性能和可伸缩性的网服务器是主要的关切问题和成本是个问题-然后会议墙的建筑看起来不太具有吸引力,它可以简单直接交谈的datbase(尽管这种更多关于分层。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top