design-patterns - 会话/缓存设计模式前面的服务
问题描述
我们有一系列存储在用户会话中的模型对象(尽管您可以将其视为任何缓存)。我们有一系列“服务”,位于充当它们的接口的前面。例如说地址是我们存储的东西之一。我们将在前面有一个基于地址的服务,它将公开 getAddress(),并检查会话是否存在。如果它存在,它只是返回它,如果它不存在,它会从某个地方获取它,将它存储在会话中并返回它。这是一种延迟加载的方法。
我相信这是一种常见的模式,但“系列服务”的名称是什么?我考虑过诸如 Delegate、Proxy、Facade、Loader 之类的名称,但这些名称似乎都不完全正确。
解决方案
它被称为服务层。这是一种架构模式,其中服务在域逻辑之上形成一个抽象层。使用服务层可以使应用程序更易于维护,因为更改通常只能限制在应用程序中的特定层(例如持久层、服务层、表示层)。使用这种设计还可以更轻松地跨服务重用功能。
推荐阅读
- curl - 使用 Python 请求连接到 AKS 上的 AMLS Web 服务时遇到问题
- javascript - 有条件地对范围进行排序
- php - Codeigniter - 如何启动文件下载并重置表单以再次使用
- gitversion - GitVersion 是否支持 Mainline 模式但具有开发分支?
- flutter - 使用 Flutter 进行 IBM Visual Recognition 分类时出错
- sql - 合并2个没有重复数据的表
- python - 无法使用 lxml 从网站上抓取信息
- python - 使用散景中的日期滑块更改数据
- sql - DB2:我想在 select 的输出中看到 € 或 $
- sql - 使用带有 have 的子查询