我可以从表示层访问存储库吗?

2023-12-28

我从 DDD 开始。我对 DDD 应用程序中涉及的几个层之间的交互有点困惑。

我可以从表示层调用我的存储库吗?如果不是,我是否必须在我的服务层中复制存储库提供的 CRUD 功能(当然,服务层将反过来使用这些功能的存储库)?最好的方法是什么?


表示层到底是什么意思? 如果您指的是控制器/演示者,那么就完全没问题了。我使用的经验法则是,如果控制器操作是 4 行或更多代码,我应该考虑重构为应用程序服务类,但仍然 - 两者都处于应用程序级别,您当然可以在那里使用存储库。

您表达问题的方式 - 我当然可能会误解这一点 - 听起来很可疑,就像您正在考虑从视图或代码隐藏中引用存储库一样。那样的话我会说不!不!不!

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

我可以从表示层访问存储库吗? 的相关文章

  • 托管扩展性框架 (MEF) 与复合 UI 应用程序块 (CAB)

    我们目前正在考虑在下一个应用程序中使用 CAB 或 MEF 我没有在 Codeplex 上看到任何有关如何处理同级控制通信的事件代理的示例 也许我错过了 MEF 中的控制间通信如何工作 此外 我们计划使用 Infragistics 它为 C
  • 如何以 REST方式发送 HTML 表单?

    我有一个名为 事实 的资源集合的 URI 以及该集合中每个 事实 资源的 URI 我相信 创建新 事实 的表单应该使用 GET 来请求 但我无法确定应该将其设置为哪个 URI 对集合 URI 的 GET 应返回 事实 资源 URI 的列表
  • 你现在在做MDA(模型驱动架构)吗?如果是这样,您使用什么工具,效果如何?

    模型驱动架构是这样一种想法 您创建模型 以一种不依赖任何 或至少大多数 实现技术的方式表达您需要解决的问题 然后为一个或多个特定平台生成实现 人们声称 在更高的抽象级别上工作更加强大和高效 此外 您的模型比技术更长寿 因此 当您的第一语言
  • 存储库本身通常不经过测试?

    抱歉 我对存储库模式 单元测试和 orm 工具还不熟悉 我一直在研究单元测试和存储库模式 并得出一些结论 我想知道我是否正确 存储库模式有助于在使用它的控制器中替换单元测试 例如 对吧 因为创建上下文 在 EF 中 或会话 在 NH 中 的
  • NSubstitute 不匹配 Linq 表达式

    我正在实现一个存储库模式查询类并使用 NSubstitute 进行测试 存储库接口 public interface IMyRepository IQueryable
  • 使用组合来表示“is – a”关系时出现的问题

    我正在为人力资源系统开发系统 有会计员工和程序员员工 加入公司的第一个月 员工没有被赋予任何角色 一名员工可以同时担任会计师和程序员 我有一个由以下代码所示的设计 现在 我需要通过实现新功能来增强系统 解雇所有会计师 终止意味着将员工的状态
  • 使用流程管理器(又名 saga)在同一有界上下文中跨聚合根实现最终一致性

    假设您的有界上下文中有两个聚合 它们之间存在一些约束 使用 DDD 这些内部聚合约束不能在同一事务中强制执行 即聚合边界是事务边界 您是否会考虑使用 Microsoft CQRS 旅程中所谓的 流程管理器 来协调同一有界上下文中的两个聚合
  • 领域驱动设计:处理原子操作和事务

    必须保证每个聚合内部的一致性 在存储库中执行此操作很容易 因为我始终可以使用数据库或框架中的事务 我对存储库之外发生的事情表示怀疑 一项服务可能需要使用多个聚合来处理请求 在服务处理过程中或在保留聚合时可能会出现问题 如果服务处理过程中出现
  • 微服务、amqp 和服务注册/发现

    我正在研究微服务架构 实际上我想知道一些事情 我非常同意使用 返回 服务发现来在基于 REST 的微服务上发出请求 我需要知道发出请求的服务 或至少是服务器集群的前端 在哪里 因此在这种情况下能够发现 ip port 是有意义的 但我想知道
  • WPF 和 WCF 应用程序的用户身份验证/授权的“最佳实践”是什么?

    假设我有一个 NET 富客户端 WPF 应用程序 它将同时部署在 3 个不同的场景中 客户端和服务器代码在单个进程中运行 客户端代码在 Intranet 计算机上运行 并通过 WCF 与运行应用程序 域 基础设施代码的服务器计算机进行通信
  • 服务作为 SOA 中的中介

    我知道什么是 通常的 中介设计模式 维基百科中有一些描述 http en wikipedia org wiki Mediator pattern http en wikipedia org wiki Mediator pattern 在我的
  • 定时任务应该放在哪一层?

    我正在尝试使用分层架构来实现 DDD 应用程序 我有 基础设施层 实现应用程序的技术特定部分的层 领域层 包含领域模型的层 应用层 包含与领域模型交互的干扰的层 接口层 从外部接收事件的层 经典的 3 层 基础设施 架构非常清晰 但我的应用
  • 领域驱动设计 (Linq to SQL) - 如何删除聚合的某些部分?

    我似乎对整个 DDD LinqToSql 业务感到有点困惑 我正在使用 POCOS 和 linq to sql 构建一个系统 并且我有聚合根的存储库 因此 例如 如果您有 Order gt OrderLine 类 那么您就有了 Order
  • 在下面的模型中,地址不应该是值对象吗?

    From 值对象如何存储在数据库中 https stackoverflow com questions 679005 how are value objects stored in the database 假设公司和个人都有相同的邮件地址
  • Web 组件 - 服务/非 html 组件

    所以我来自 Angular 想看看如何创建vanilla Web components 现在 从 Angular 开始 我们倾向于将事物分开 组件 充当 HTML CSS 和一些 javascript 然后是 服务 主要负责收集数据和执行不
  • CoreBluetooth:如何为许多特性(30 - 40)设计代码?

    我搜索了一下 发现这是一个可能重复的问题 同一设备的多个 CBPeripheral https stackoverflow com questions 10836703 multiple cbperipherals for same dev
  • RESTful API:我应该在哪里编码我的工作流程?

    我正在开发一个 RESTful API 这是我的第一个 API 也是我的第一个真正大型的编码项目 因此 我仍在学习很多关于建筑等方面的知识 目前 我的 api 设置分为以下几层 HTTP层 资源层 领域模型 业务逻辑层 数据访问 存储层 持
  • 如何在服务器上保存用户凭据以在后台运行查询

    背景 我们有一个 ASP NET Silveright Web 应用程序 silverlight客户端显示用户 图形形式的特定数据 它从服务器请求数据 问题 由于服务器必须执行底层数据库查询 获取这些数据的成本很高 因此客户端必须等待 优化
  • 在域驱动设计中设置模型属性默认值的最佳实践?

    在 DDD 中为新实体设置默认属性的最佳方法是什么 另外 为复杂属性 例如集合 设置默认状态的最佳方法是什么 我的感觉是默认值应该在模型本身中 因为它们是业务规则的一种形式 默认情况下 我们希望 X 是 Y 和 Z 并且域代表业务 通过这种
  • PHP 中正确的存储库模式设计?

    前言 我尝试在具有关系数据库的 MVC 架构中使用存储库模式 我最近开始学习 PHP 中的 TDD 并且我意识到我的数据库与应用程序的其余部分耦合得太紧密 我读过有关存储库并使用国际奥委会容器 http laravel com docs 4

随机推荐

  • javascript二叉搜索树实现[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人知道用 Javascript 实现简单 BTree 的任何好例子吗 我有一堆随机到达的 东西 并且
  • 尝试在 openpyxl 中保存工作簿时,卡在 AttributeError: 'int' 对象没有属性 'reindex' 上

    我无法弄清楚这一点 它抱怨 wb save 行 在我的头撞到这个之后 我不知道是什么原因造成的 我怀疑这与尝试打开一张空白纸并在进行格式化操作后保存它有关 但我无法想象我在那里所做的事情导致了这个问题 当我打开现有的电子表格并进行操作时 它
  • 以编程方式在给定时间暂停/停止 Android MediaPlayer

    我研究了一下 但找不到解决这个问题的任何方法 我想玩一个MediaPlayer并在给定时间暂停 停止 即 从第 6 秒播放到第 17 秒 我知道我可以设置它的起点seekTo 方法 但我可以通过设置终点来暂停 停止播放 当然 在达到文件结束
  • 读取文件列表,应用函数并用相同名称重写

    我有一组包含重复条目的 csv 文件 我需要删除并重写具有相同名称和格式的文件 这是我到目前为止所做的 filenames lt list files pattern csv datalist lt lapply filenames fun
  • 如何在 IIS 中监视 .NET MySQL 数据连接器的连接池

    我已经在谷歌上搜索了相当多的信息 但无法找到确切的答案 我们在日志中看到以下错误 超时已过 获取之前已过了超时时间 来自池的连接 发生这种情况的原因可能是所有 连接正在使用中并且已达到最大池大小 堆栈跟踪 位于 MySql Data MyS
  • MXE - 使用 cmake 和 mingw 交叉编译时对 Qt 的未定义引用

    我正在尝试编译电子通桌面 https github com electronpass electronpass desktop 对于 Windows 使用MXE http mxe cc在Linux上 我已经成功编译了它的所有依赖项 包括li
  • 使用表的字段值重命名 SQL 表的列

    我正在尝试执行一个 SQL 查询 该查询将使用表中第一个记录集中的文本重命名表的列 我的桌子看起来像这样 COL1 COL2 COL3 COL4 COL5 COL6 REASON ITEMDATE ITEMTIME SITENAME EVE
  • 将数据上传到共享内存中用于卷积核

    我在理解评论中提到的批量加载时遇到一些困难 为了计算像素中的卷积 大小为 5 的掩模必须以该特定像素为中心 图像被分成图块 应用卷积掩模后的这些图块是最终输出图块 其大小为TILE WIDTH TILE WIDTH 对于属于输出图块边界的像
  • Powershell HomeDirectory 未在文件服务器文件系统上创建

    我在使用 Powershell 并通过 cmdlet 设置 HomeDirectory 时遇到了一个奇怪的问题 Set ADUser Identity user HomeDirectory fileserver home user 即使 c
  • Grails Spring 安全登录问题:/auth?login_error=1

    我成功安装了 SpringSecurity 在用户注册并使用 Spring Security UI 的 RegisterController 闭包验证用户后 我可以看到用户已使用 springSecurityService reauthen
  • WordPress 远程导致“此网页有重定向循环”错误

    我有一个 WordPress 网站 在开发过程中运行得非常好 位于mysite dev 但是当我将其部署到远程服务器时 mysite com 它抛出 此网页有重定向循环 error 我可以在加载栏中看到浏览器一次又一次地尝试 www mys
  • 为菜鸟提供使用仪器泄漏的建议

    你好 我对 iPhone 开发还很陌生 我第一次使用 Instruments 中的 Leaks 运行我的应用程序 它向我展示了大约 20 个泄漏 最小的是 32 字节 还有一个 1KB 我遵循了内存管理指南 我 认为我 了解如何以及何时使用
  • ASP.NET 部分页面上传,无需 Updatepanel /使用 jQuery

    我有一个 ASPX 页面 在顶部我显示 5 个类别 例如 笔 书 鞋 手机 镜子 当我单击任何类别时 我想在标题下方显示该类别下的产品 我不想为此重新加载整个页面 当单击发生时 除了图像的中心位置 可能是要显示的 DIV 或表格 我想保持页
  • 使用 mod_rewrite 进行 Apache ssl 重定向

    我想这样做 如果他们这样做https example com我想将他们重定向到https www example com 添加www 我尝试了很多事情都无济于事 Redirect https example com
  • React isValidElement 结果为 false

    这是一个简单的例子 const Foo gt return div foo div class Bar extends React Component render return div bar div console log React
  • Selenium如何访问同一css类的两个控件

    我正在使用 selenium ide 进行测试 我的目标是验证以下内容 1 文本框的最大和最小长度属性 2 验证标签文字 我的html代码如下 div class control group div
  • 如何在网络视图中启用受保护的内容?

    在chrome浏览器中 有一个选项播放受保护的内容 我如何启用相同的功能webview in android 我尝试过一种称为allowContentAccess 但这不起作用 请帮忙 要允许 Web 视图播放 DRM 内容 您必须向 We
  • 如何将货币字符串格式化为浮点值?

    我得到的字符串是这样的 2 000 00 现在我想将此字符串更改为浮点值 如何将此字符串转换为浮点型 实际上 此字符串 2 000 00 来自使用货币格式化程序格式化数字 但现在我想将此字符串更改为浮点值 请为此指导任何人 提前致谢 考虑字
  • Rails:Psych,从 0.1.4 更新 libyaml

    我需要安装 capybara webkit 它需要 qt 库 所以我使用 homebrew 并使用以下命令安装了它们 brew update brew install qt brew linkapps 然后我捆绑了 capybara web
  • 我可以从表示层访问存储库吗?

    我从 DDD 开始 我对 DDD 应用程序中涉及的几个层之间的交互有点困惑 我可以从表示层调用我的存储库吗 如果不是 我是否必须在我的服务层中复制存储库提供的 CRUD 功能 当然 服务层将反过来使用这些功能的存储库 最好的方法是什么 表示