首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >服务和立面的角色相似吗?

服务和立面的角色相似吗?
EN

Stack Overflow用户
提问于 2013-02-23 15:40:33
回答 11查看 33.9K关注 0票数 64

我读得越多,我就越困惑

请注意,所有问题都与服务和外观如何适应MVC模式有关。

我的理解是,外观不是超级智能的对象,它只是一种公开简单接口/api来执行复杂操作的方式(例如:执行10美元支付,这是一个涉及多个操作的复杂操作,但这种复杂性可以由外观处理,它只会调用特定order...etc中的相应对象……)

现在,服务是一种执行对多个DAO的调用以获得复杂数据结构的方法(我对此不太确定,但这是我到目前为止所理解的)。

那么问题是,外观和服务之间的区别是什么?归根结底,facade可以完美地访问多个day,以便通过提供一个简单的接口来执行复杂的操作,并且服务似乎类似于某些东西。

事务也是如此,我知道服务是开始事务的地方,但我同样觉得它们也可以放在facade上,毕竟,一个facade也可以调用多个DAO。

那么哪个堆栈更有意义呢

控制器-门面-道控制器-服务-道

或者也许

controller-facadade-dao,有时是controller-facade-service-dao ??

EN

Stack Overflow用户

发布于 2013-02-26 12:52:13

是的,Facade和Service并不是完全无关的。有时,我们将服务层实现为外观,这样客户端就不会为服务的许多细节而烦恼。服务的调用/接口越简单,客户端代码就越简单。

马丁·福勒说。

从对接客户端层的角度来看,

服务层定义了应用程序的边界Cockburn PloP及其可用操作集。它封装了应用程序的业务逻辑,控制事务并在其操作的实现中协调响应

因此,服务层有时被用作外观。

Ref

票数 1
EN
查看全部 11 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15038324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档