服务层中的服务

以下内容来自《Microsoft .NET企业级应用架构设计》

从架构上讲,服务层应用了软件设计中一个通用且人人皆知的原则--低耦合,可能还应用了另一个原则,高内聚,这是通过一个中间层解除用户界面和中间层的耦合来实现。

 

在该图中,服务层表示成了一个远端的层,不过实际中并不要求这样实现,其取决于项目的客户端(Web或Windows)。服务层可能就是表现层的一部分。如果那样,服务层不需要设计成Web服务,而是可以用支持服务的组件或一些普通类来实现。这里的重点是服务层所提供的抽象,而不是其具体的实现方式

 

那么服务层有什么好处呢?

在服务器端,服务层中被调用的方法将协调并向领域模型,专门的应用程序服务,工作流等业务逻辑组成部分发起调用,从而组织程序需要的逻辑。

若没有服务层,则需要从表现层直接调用到应用程序服务中,这就会造成一个太过细粒度的远程接口,从而导致过度多的交互。因此,你可能不得不为了完成指定的任务而执行多次远程调用。从性能上考虑这当然不是一件好事。

 

怎样绕过服务层?

应用程序服务(也叫做微服务)位于服务器端,用来表示应用程序特定的服务以及领域逻辑的功能。举例说明,微服务有执行货币转换,以及基于工作流的服务,用来计算订购货物的数量并保证有足够的库存。

一般情况下我们总是推荐使用服务层,不过有时候让表现层直接调用应用程序服务也未尝不可,特别是当该服务特别简单,仅执行了一个单一操作的时候。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值