zoukankan      html  css  js  c++  java
  • 领域驱动开发(DDD)Web开发中的典型分层

    1. UI

      在典型的Spring Web层中,我们把协议接口这层也定义为UI的一部分,一般来说就是Controller实现的这部分功能。主要作用是从Web接口获取用户传过来的参数,然后发送给业务装饰层进行调用,获取业务装饰层的返回结果并以约定形式返回给浏览器之类。

    1. 业务装饰

      业务装饰层接受UI层的调用,并返回结果给UI层。

      业务装饰层通过调用业务层+存储层,实现具体的业务。

      为什么需要业务装饰层?由于UI上的功能,并非全部是业务,比如一些查询功能。这些功能放到哪个业务用例都不合适,所以让业务装饰层直接调用存储层实现。

    1. 业务

      业务层包括业务对象、业务用例。来实现具体的业务功能。业务层是纯粹的、不依赖任何其他层的。在Java程序中,就是纯粹的POJO,用来实现一组业务功能。业务层通过定义存储接口,并自己调用存储接口实现完整业务。

      业务层定义的存储接口,通过依赖倒转原则,由外部来实现。因此业务层和具体的存储是完全解耦的,可以随时替换。

      在Spring Web中,可以通过外部自行组装Bean,将业务用例的Service组装成Spring Bean,并将存储层的对象注入到业务的Service中。

    1. 存储

      这里的存储是广义上的,包括但不限于:数据库、文件、其他大对象存储服务、远程服务、消息队列等。根据业务接口需要实现比如存储、第三方业务(如短信)、异步调用(消息队列)、同步调用(REST、RPC)等。

  • 相关阅读:
    维护没有源代码的遗留 Java 项目
    项目管理软件
    Web系统页面打印技术实现与分析
    包饺子
    深入理解浏览器兼容性模式
    无法加载ISAPI 筛选器 当前配置只支持加载为 AMD64 处理器体系结构创建的映像
    命令行下IIS的配置脚本Adsutil.vbs
    浏览器开发工具的秘密
    高速公路坐标高程计算软件3.6版本发布
    VB模拟键盘输入的N种方法
  • 原文地址:https://www.cnblogs.com/bobdeng/p/8688159.html
Copyright © 2011-2022 走看看