何时更新审核字段? DDD

2023-11-26

我有一个会议对象:

Meeting{id, name, time, CreatedBy, UpdatedBy}

and a

MeetingAssignee{id, MeetingID, EmployeeId, CreatedBy, UpdatedBy)

会议作为聚合根,有一个方法AssignEmployee。

我正要在调用AssignEmployee 时将当前用户传递给Meeting 对象,以便它可以相应地更新其审核字段。

但这似乎不对——是吗?显然,我可以将审计字段保持公开并稍后更改它们 - 也许在服务级别?

其他人更新这些字段的首选方法是什么?

请注意:我们没有使用 Nhibernate,而是使用自定义 ORM,它没有任何自动功能。

Thanks.


审计和日志记录很有趣,因为它们通常在应用程序中的任何地方都需要,并且它们都是需求(日志记录isOP 人员的要求)。

在不了解您的模型的情况下,并且由于必须进行审核,我会将当前用户传递给AssignEmployee而不是在那里有一条线说AuditBlahBlahBlah,我会添加一个事件(也许是 MeetingUpdated 或AssigneeAdded ...您会找到一个好名字),并且该事件将被分派到进行审核的类。通过这种方式,Meeting 类对审计一无所知,并出于审计目的分派业务事件(在我看来,这是非常 DDDish 的)。

我想知道其他人会怎么说(希望我能学到新东西!)

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

何时更新审核字段? DDD 的相关文章

  • 存储库是单例还是静态还是都不是?

    我有一个 ASP NET 网站 它使用域驱动设计并使用存储库进行数据库操作 我想知道单例存储库和静态存储库以及每次访问都会新增的简单存储库类的优缺点是什么 此外 如果有人可以比较并指导我使用其中的哪一个 我将不胜感激 静态和单例对于存储库模
  • 用于办公管理应用程序无缝集成(和最终替换)的复杂(多模式)实体框架对象映射

    我是一个相当新手 狂热的程序员 这是我的第一个问题 但几个月来我一直在使用 stackoverflow 来获取有价值的信息 首先 一些背景 我目前在一家极小 我们目前运行一个相当过时 大约 2008 年 的医疗办公室管理系统 负责处理患者业
  • @Id 注解属性的 Kotlin 内联类

    在我的业务逻辑中 我必须处理很多实体 ID 所有这些 ID 都是类型String 这可能会导致混乱 尤其是当您将其中几个作为方法参数传递时 所以我考虑引入一点类型安全内联类 我知道 内联类在 v1 3 中仍然被标记为实验性的 然而 有没有人
  • 在 CQRS http 应用程序中实现 Saga/Process Manager

    按照这个例子 https msdn microsoft com en us library jj591569 aspx https msdn microsoft com en us library jj591569 aspx 图3 它如何适
  • 模型与服务解耦:如果我的模型需要服务怎么办?

    服务层应该位于模型层之上 因此 模型不应该调用服务 然而 我面临着我需要的情况 例如 interface Component getResult class Number implements Component private value
  • 应如何聚合公开子实体的信息?

    从这个问题跟进实体是否应该有方法 如果有 如何防止它们在聚合之外被调用 https stackoverflow com questions 51907447 should entity have methods and if so how
  • 查找两个 C# 对象之间的属性差异

    我正在开发的项目需要在用户更改电子邮件 帐单地址等时进行一些简单的审核日志记录 我们正在使用的对象来自不同的来源 一个是 WCF 服务 另一个是 Web 服务 我已经使用反射实现了以下方法来查找两个不同对象上属性的更改 这会生成一个具有差异
  • DDD 和客户端验证

    假设您有一个使用领域模型模式 DDD 和许多其他设计模式的应用程序 假设我们有多种解决方案 如下所示 解决方案 模型 解决方案 存储库 解决方案 服务 解决方案 演示 解决方案 UI Web 用户体验层将是 Solution UI Web
  • 领域驱动设计和 IoC/依赖注入

    我现在正在尝试应用我学到的有关 DDD 的知识 但我对域模型中的依赖关系流有点困惑 我的问题是 实体是否应该了解域中的工厂 存储库 服务 存储库应该了解域中的服务吗 另一件困扰我的事情是当我想向集合添加实体时如何处理集合 假设我正在开发一个
  • 如何解决客户端-服务器应用程序中的无状态问题?

    我读过一些有关创建无状态网站的书籍 也读过一些有关有状态客户端应用程序的书籍 但是当您必须将两者结合起来时 就会出现很多复杂性 我们有一个 Flex 应用程序 需要通过 NET 服务将数据保存到数据库中 需要记住的事情是 并发 乐观 悲观
  • 恢复域对象的最佳方法

    这是一个如此简单而常见的场景 我想知道到目前为止我是如何做到的以及为什么现在遇到问题 我有这个对象 基础设施程序集的一部分 public class Queue public class QueueItem public QueueItem
  • DDD:通过身份引用聚合根内的实体

    我一直在寻找正确的参考方式entities位于一个聚合根 当我们只得到他们的身份来自 URL 参数 我问了一个上一个问题 https stackoverflow com questions 7196820 update an entity
  • 有界上下文共享相同的聚合

    DDD 公开了有界上下文 领域模型 聚合 但我经常错过业务规则的关键点 我想知道业务规则如何集成到这种方法中 这是一个例子 假设您在一家信贷公司中有 2 个有界上下文 一项用于追偿债务 另一项用于提前退款 这些背景嵌入了真正的业务特性 从概
  • 领域驱动设计和聚合参考

    我正在设计领域模型 但有些东西似乎不太好 我从一个主要的聚合开始 它引用了其他聚合 而其他聚合也引用了更多聚合 我可以从主聚合开始遍历孔域模型 我看到的问题是我将在内存中保存聚合的所有实例 这是一个好的设计吗 我可以通过延迟加载解决内存问题
  • DDD 领域模型复杂验证

    我正在努力使用域驱动设计原则重写我的 ASP NET MVC 应用程序 我正在尝试验证我的用户实体 到目前为止 我能够验证基本规则 例如用户名和密码是非空 空白字符串 然而规则之一是 我需要确保用户名是唯一的 但是 我需要访问数据库才能执行
  • 涵盖 .NET 中的 TDD、DDD 和设计模式的书籍

    我想要一本能够真正让我全面了解使用 C TDD ASP NET MVC DDD 和设计模式 例如存储库模式 的现代 ASP NET 开发的书 我非常擅长 C 和 ASP NET MVC 但想填补空白 如果您对涵盖这些主题的一两本书有很好的体
  • 为什么实体框架需要 ICollection 来延迟加载?

    我想编写一个丰富的域类 例如 public class Product public IEnumerable
  • DDD 聚合和值对象

    我想问一下关于DDD功能的问题 假设我们有两个聚合 每个聚合都包含值对象地址 根据 Eric Evans DDD 我们应该将聚合彼此隔离 因此第一个聚合的聚合根不能有指向 Address 的链接 坦白说 这对我来说似乎没有意义 所以问题是如
  • 如何在 CQRS 中处理基于集合的一致性验证?

    我有一个相当简单的域模型 涉及一系列Facility聚合根 鉴于我使用 CQRS 和事件总线来处理从域引发的事件 您如何处理集合的验证 例如 假设我有以下需求 Facility必须有一个唯一的名称 由于我在查询端使用最终一致的数据库 因此在
  • 寻找领域事件的例子

    有谁知道在哪里可以找到域事件实现的示例代码 如乌迪 达汉 http www udidahan com in 领域事件 救赎 http www udidahan com 2009 06 14 domain events salvation 在

随机推荐

  • 是否存在使用数据库 1:1 关系有意义的时候?

    前几天我在思考规范化 我突然想到 我想不出数据库中应该存在 1 1 关系的时候 Name SSN 我会把它们放在同一张桌子上 PersonID AddressID 再说一遍 同一张桌子 我可以想出无数个 1 多或多 多 带有适当的中间表 的
  • Perl 正则表达式中的转义特殊字符

    我正在尝试匹配 Perl 中的正则表达式 我的代码如下所示 my source Hello version Goodbye version my pattern Hello version if source m pattern print
  • 如何在 Android Javadoc 中引用 XML 文件? [复制]

    这个问题在这里已经有答案了 有没有办法使用 JavaDoc 链接来引用 Android XML 文件res folder 就像是 link res values custom strings xml link com yourApp R l
  • 如何备份SQL Server代理作业?

    如何备份和恢复 SQL Server 2005 代理作业计划 msdb 数据库是所有作业所在的地方 它是系统数据库之一
  • add2virtualenv(virtualenv 包装器)不适用于 scipy

    我想创建一个没有全局 python 包的 virtualenv 但具有共享的 scipy 发行版 安装 scipy 需要相当长的时间 我不想太频繁地走过场 所以我跑add2virtualenv Library Python 2 7 site
  • 如何通过不可靠的网络同步媒体播放?

    我希望我可以在一台计算机上播放音乐或视频 并让第二台计算机同步播放相同的媒体 例如 我可以同时听到两台计算机的扬声器的声音 这听起来并不好笑 我想通过 Wi Fi 来完成此操作 但 Wi Fi 有点不可靠 从算法上来说 解决这个问题的最佳方
  • @Autowired 对象获取空值

    尝试建立一个项目 但通过 Spring 自动装配对象失败 package se hsr web public class TestRunner public static void main String args ContactDAO c
  • 使用 git 时 Mac/Windows 的文件权限问题

    我运行以下代码从 Windows git 存储库中提取文件 git pull Volumes sucho Desktop git setup 我按如下方式连接 Windows 目录 tell application Finder mount
  • 忽略 querySelectorAll 中的大小写敏感性

    我有这个代码 a href Click a a href Click a a href Click a a href Click a 现在 使用console log document querySelectorAll a href jav
  • “该节点不是使用 replSet 选项启动的”

    我正在学习MongoDB大学 s M101P 面向开发人员的 MongoDB课程 我在用连线虎 on MongoDB 3 2 我目前的主题是副本集 该课程要求我使用以下代码创建一个副本集 mongod replSet rs1 logpath
  • 对齐wpf选项卡控制条

    我正在尝试在右侧对齐选项卡控制条 需要明确的是 我希望选项卡位于顶部 tabstripplacement 但在右侧对齐 的标题TabItem位于类型面板中TabPanel 我们可以添加HorizontalAlignment Right 在资
  • Angular.js 和 Adsense

    我正在尝试在我的 angular js 应用程序上放置广告 我做了一些阅读 发现不可能只复制并粘贴正常的 adsense 代码 我听说你应该 用嵌入将其包装在指令中 我能找到的唯一示例是另一个 Stackoverflow 帖子 Angula
  • 从代码更改清单元数据

    我有一个使用广告的应用程序 广告 ID 通过元数据标签在清单 ID 中设置 在某些情况下 我想在启动应用程序时更改此标签 某些本地化版本的 ID 不同 我可以在代码中做到这一点吗 清单元数据无法在运行时更改 您应该查看您的广告库是否允许直接
  • Eclipse Android SDK - 构建工作区时出错

    我已使用 Android SDK Manager 更新了我的软件包 并单击 帮助 gt 检查更新并更新了已安装的插件 提示我重新启动eclipse 现在重新启动后 我收到以下错误代码 Building workspace has encou
  • 在 Swift SpriteKit 项目中播放声音?

    当我运行这段代码时 runAction SKAction playSoundFileNamed Click mp3 waitForCompletion false 我的应用程序崩溃了 由于未捕获的异常 NSInvalidArgumentEx
  • 如何使 jQuery UI 'draggable()' div 可拖动用于触摸屏?

    我有一个 jQuery 用户界面draggable 适用于 Firefox 和 Chrome 用户界面概念基本上是单击以创建 便利贴 类型的项目 基本上 我点击或点击div everything 100 高和宽 监听点击 并显示输入文本区域
  • 如何在每个 jupyter Notebook 内核之前运行 Python 代码

    假设我有一个代码片段 我想在每次打开 jupyter 笔记本时运行 在我的例子中 它打开 Spark 连接 假设我将该代码保存在 py 脚本中 启动 py sc This is a spark connection 我希望每次打开内核时都能
  • Spark Scala - java.util.NoSuchElementException 和数据清理

    我有过一次之前有类似问题 但我正在寻找一个普遍的答案 我在用火花核心LP获取电子邮件的情绪分数 有时 sentiment 在某些输入上崩溃 可能太长 可能有意外的字符 它没有告诉我它在某些情况下崩溃 只是返回Column sentiment
  • 产品处于应用程序计费托管和非托管状态

    我对 android 很陌生 我正在研究应用程序内计费 我的问题是添加应用程序内产品时托管和非托管状态的主要目的是什么 任何人都可以告诉我托管状态有什么用 非托管状态有什么用 托管和非托管之间的主要区别在于 托管购买只能购买一次 并且与购买
  • 何时更新审核字段? DDD

    我有一个会议对象 Meeting id name time CreatedBy UpdatedBy and a MeetingAssignee id MeetingID EmployeeId CreatedBy UpdatedBy 会议作为