服务层的目的

2024-01-10

我认为服务层的目的包括以下内容是否正确?

  • 域模型的稀疏化(即某些功能的移动,例如缓存、实例化)
  • 减少对领域模型的依赖
  • API最小化

传统上(当不使用领域驱动设计时)服务层(也称为“业务层”)是为应用程序编写所有业务逻辑的地方。因此,例如在处理发放银行贷款的应用程序中,服务层是决定是否应发放特定贷款的代码所在的位置。 显然,服务层需要一些有关贷款申请人的信息,以便能够对其可信度做出决定。为了检索此信息,业务层调用“数据”或“存储库”层,该层负责提取信息并将其存储到数据库中。

服务层不处理持久性或其他基础设施问题等问题。

如果您的设计是领域驱动的,那么 Anthares 的答案是正确的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

服务层的目的 的相关文章

随机推荐

  • C# 中集中使用关键字

    有没有办法在 C 中制作单个 头 类型文件 在 C 中 您有类似 Mainheader h 的内容 其中包含您的所有包含内容 有没有一种方法可以对 C 执行类似的操作 其中您有一个包含所有 using 关键字的文件 现在我有很多使用 例如
  • MVC,从页面中的多个部分视图传回值

    当我尝试从包含相同部分视图两次的页面传回值时 我遇到了问题 我的类定义如下 public class Account IEntity public decimal CurrentBalance get set public List
  • 将 C# 委托的调用约定更改为 CDECL

    我在使用DotNet1 1时C 也遇到过这个问题 问题是这样的 我有一个非托管 dll 它有一个接受函数指针 以及其他参数 的函数 当我在 C 代码中声明 DLLImport 时 我传递了一个委托 但是 C 中的代表有stdcall调用约定
  • PowerShell - 删除文本文件的所有行,直到找到特定字符串

    我目前有一个输出日志文件 有点混乱并且增长很快 这是一个授予邮箱权限的大型脚本的调试输出 我基本上只想删除文件中的每一行 直到找到 7 天前日期的第一次迭代 到目前为止 我可以返回包含该日期的所有行 content Get Content
  • 如何隐藏通过 JavaScript 对话框提示输入的密码?

    如何在 JavaScript 的对话框提示中隐藏用户输入的密码 例如 使用类似的东西 var passwd prompt Enter Password your password here 我希望这样 例如12345输入后 看起来像 or
  • 以结构作为参数的通用函数?

    struct Item1 a u32 struct Item2 a u32 b u32 fn some helper function item Item1 Basically item could be of type Item1 or
  • Angular2 - *ngFor / 使用数组循环遍历 json 对象

    想要循环遍历json对象 Defined on component side jsonObj 1 title title1 desc desc1 2 title title2 desc desc2 3 title title3 desc d
  • Magento 中产品详细信息页面上的自定义变量

    UPDATE 希望这是对问题的更好解释 我正在尝试使用以下方法将产品详细信息页面上的产品 SKU 传递给 Google Analytics setCustomVar 我在 Magento 1 4 0 1 上运行 我的 Analytics 异
  • 在不使用 System.Web 的情况下使用 OWIN 时,使用什么来代替 HttpContext

    我们目前有一个使用 OWIN 连接的 NancyFx 项目 我们没有使用 System Web 我们需要一些地方来放置我们的上下文 该上下文在请求的生命周期内而不是 HttpContext 我们已经开始在线程静态变量上实现上下文 以便我们可
  • Guzzle 6 结果返回并带有 HTTP 标头

    我对 Guzzle 6 x 如何返回结果有疑问 因此 当我尝试执行以下操作时 我收到 语法错误 json decode我的结果 我用过var dump and print r 得到我的实际结果 结果发现我的 JSON 结果返回时包含一个 H
  • 为什么传单弹出窗口中的按钮不起作用?

    我有一张带有很多标记的传单地图 当单击它们时 会出现一些带有编辑和删除按钮的信息 然而 出于某种原因 传单似乎掩盖了这些按钮 无论哪种方式 它们根本不起作用 这是我的地图组件 带有标记和弹出窗口 refresh this artworkSe
  • NSOutlineView 的子类 NSTableRowView

    如果你有一个tableView并且想使用NSTableRowView的子类 你可以使用委托函数 NSTableRowView tableView NSTableView tableView rowViewForRow NSInteger r
  • 获取“.rda”文件中数据集的名称

    假设我有一个 rda使用创建的文件save 例子 save mydata1 file anrdatafile rda where mydata1是一个数据框 我想写代码R其中 1 加载 anrdatafile rda 文件 2 查找该文件中
  • 将 DatetimeIndex 转换为日期时间

    如何将 DatetimeIndex 转换为日期时间以在下一步中绘制数据 我有一个 DatetimeIndex 列表 如下例所示
  • 尝试在 Redshift 中创建日期表

    我正在尝试在 redshift 中创建一个包含以下列的日期表 date year month 月份名称 年月 月份名称年份 请注意 年份月份的格式为 202001 月份名称年份的格式为 january2020 创建表后如何向表中插入数据 感
  • gpg:找不到 keyblock 资源 pubring.kbx,因为存储库路径以 gnupg home 为前缀

    我曾经让我的提交由 gpg 签名 一切正常 但我突然收到了这条消息 gpg keyblock resource c Users username path to project C Users username gnupg pubring
  • 更改时间序列中指定间隔的线类型(实线到点线)

    考虑以下示例 library ggplot2 set seed 30 data lt data frame group factor 1 11 year c rep 2014 times 11 rep 2015 times 11 rep 2
  • Intellij 中的链式方法和连续缩进

    我从来没有弄清楚如何让 Intellij 正确处理链式方法的连续缩进 显然今天是让我很恼火的一天 我向你们可爱的人们咨询 我想要的是这样的 makeAThing with params setProperty with some more
  • 创建相关矩阵 p 值 [重复]

    这个问题在这里已经有答案了 我可以使用以下命令获取相关矩阵 gt df lt data frame x c 5 6 5 9 4 2 1 3 5 7 y c 3 1 2 5 3 8 5 4 6 5 2 5 1 5 8 1 7 1 6 1 z
  • 服务层的目的

    我认为服务层的目的包括以下内容是否正确 域模型的稀疏化 即某些功能的移动 例如缓存 实例化 减少对领域模型的依赖 API最小化 传统上 当不使用领域驱动设计时 服务层 也称为 业务层 是为应用程序编写所有业务逻辑的地方 因此 例如在处理发放