10得票1回答
领域模型、概念模型与业务模型等的区别

我有一个关于编程术语的问题,这些术语已经让我困惑了很久,但我似乎无法搞清楚。维基百科通常会以非常正式的方式解释这些事情,这对我来说非常难理解... 我一直在努力理解的术语有:问题域, 概念模型, 领域模型, 业务模型, 业务领域, 业务逻辑, 领域逻辑等。其中一些意思相同,有些可以互换使用,...

10得票2回答
最佳实践 - 将视图模型与领域模型混合使用

将视图模型与领域模型混合使用是否合理? 例如,视图模型对象包含一些领域模型对象(而不是反过来!)

10得票6回答
持久化领域模型时,我们应该使用外键约束吗?

不久前,我与同事们讨论了领域模型的持久性以及是否应该在数据库级别上强制实施外键约束的问题。我的第一反应是使用关系数据库就意味着要执行这些约束条件,但有人认为数据库只应被视为一种持久化机制,因此我们应避免将任何业务逻辑放入其中。最终,我们决定不使用外键约束。我的问题是(希望不太泛泛):在这些情况...

9得票3回答
在领域类中限制字符串长度

我有一个持久化无知的领域模型,使用抽象存储库来加载领域对象。 我的存储库的具体实现(数据访问层(DAL))使用实体框架从SQL Server数据库获取数据。 数据库对其许多varchar列具有长度约束。 现在想象一下我有以下领域类: public class Case { publi...

9得票2回答
DDD,确定核心领域

我在尝试确定给定模型中哪个域可以被认为是“核心域”方面遇到了困难。如果有几个域对业务功能都是核心的,那就会很棘手。 我希望有人能够概述一个系统化的过程,以便在处理具有多个候选项的系统时单独确定核心域。

9得票2回答
在Web API应用程序中分离模型

我的团队正在使用Entity Framework开发Web API应用程序,GUI由另一个团队开发。 我的问题是如何定义模型?是否应该有两个项目——一个用于领域模型(数据库实体),另一个用于可序列化的数据传输对象(DTO)? DTO到领域模型的解析应该在哪里进行?反之亦然应该在什么时候进行...

8得票2回答
使用枚举值在具有EF Code First方法的域模型中

我在我的MVC应用程序中使用Entity Framework Code First方法,并为数据库中的每个表创建了一些实体类。另一方面,我需要使用一些查找值,例如性别、状态,但我不想创建单独的领域模型或表格,因此我需要在相关的领域模型类或单独的类中定义枚举值。虽然网上有很多示例,但我没有找到一...

8得票4回答
面对贫血的领域模型处理

我正在尝试将我的数据访问层(DAL)与业务层分离,为此,我决定放弃任何ActiveRecord方法,转而采用DataMapper方法。换句话说,我的领域对象不会负责自己的持久化。这样做,似乎侵犯了“贫血领域模型”反模式。例如,我的程序中的一个实体是组织。 一个组织可以表示为以下内容: cl...

8得票1回答
如何使用良好的FP实践,将具有可变性和循环依赖关系的域模型重构为适用于Scala?

我来自面向对象的背景(C#,Javascript),Scala是我首次深入函数式编程。 因为我的背景,我在实现符合FP良好实践的域模型时遇到了困难,特别是代码中的最小可变性。 首先,对我的域问题进行简要描述。 主要领域对象是:事件(Event),锦标赛(Tournament),用户(U...

8得票1回答
面向领域设计中子实体的变更跟踪

我在理解聚合根如何跟踪子实体的更改方面遇到了一些困难。 假设我有一个聚合: 订单(根) 订单行项目 其中Order类是聚合根。那么,我如何通过Order类来跟踪每个OrderLineItem的更改? 当我创建一个仓储(实现),例如OrderRepository(因为只有聚合根才能拥...