服务层设计

服务层由来

业务层介绍,一般我们会在业务层添加一些服务类,这些服务类采用外观模式将服务提供给外界调用,从而隐藏了内部的复杂性,这样将处理逻辑的操作委托给了业务类。
既然业务层中已经存在服务类了,为什么还要添加服务层呢? 新的需求:

  • 显示层不业务层层
  • 添加缓存操作
  • 安全认证
  • 异常处理日志记录
    一般在项目初期或业务不复杂的情况下,可以先不添加服务层。随着项目的发展和业务的变化,业务称变的复杂,应抽查一层服务层,是业务层只处理业务逻辑。

服务层的功能

提供更简洁的API

通过外观模式,将业务层的服务类或非服务类封装,提供供客户端简单调用的API

数据传输对象(DTO)

  1. 将应用层的数据封装DTO对象,传输给显示层
  2. 介绍显示层传来的DTO对象,映射为业务层的Model,调用业务层

远程服务开发

为了各系统更好的交互,有时需要开发一服务程序,通其他系统调用。即面向服务的架构(SOA).
SOA的原则

  • 边界清晰: 服务部署后,可供其他服务轻松访问
  • 服务自制
  • 兼容性基于策咯
  • 共享模式和契约 模式即数据,基于即行为。
    微软提供WCF方式实现服务框架开发,在服务架构中:
    客户端与服务端交换的数据即共享模式
    为服务层提供接口,共享契约。客户端获得服务操作相同

客户端通过代理类访问服务

为了方便客户端调取服务,可添加一代理。创建方法:

  • 创建共享模式(传输数据)
  • 实现服务服务端的共享契约(接口) 代理类,通过WCF的Channel同服务端交换
原文地址:https://www.cnblogs.com/LoveTomato/p/9402868.html