随笔 - 41  文章 - 0 评论 - 6 阅读 - 63758
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

  1. UI

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

  1. 业务装饰

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

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

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

  1. 业务

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

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

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

  1. 存储

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

posted on   邓志国  阅读(345)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示