• 服务层设计


    服务层由来

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

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

    服务层的功能

    提供更简洁的API

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

    数据传输对象(DTO)

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

    远程服务开发

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

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

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

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

    • 创建共享模式(传输数据)
    • 实现服务服务端的共享契约(接口) 代理类,通过WCF的Channel同服务端交换
  • 相关阅读:
    ASP.Net软件工程师基础(四)
    ASP.Net软件工程师基础(三)
    ASP.Net软件工程师基础(二)
    ASP.Net软件工程师基础(一)
    SVN小小用法(一)svn服务器搭建
    必须声明标量变量
    用户 NT AUTHORITYNETWORK SERVICE 登录失败
    winmail安装完成后,SMTP/POP3/ADMIN/HTTP/IMAP/LDAP服务不能启动?
    CF-798C
    CF-798B
  • 原文地址:https://www.cnblogs.com/LoveTomato/p/9402868.html
Copyright © 2020-2023  润新知