1

存储库模式是否必须为每个数据库表创建模型?或者我可以创建一个可以作为两个或多个数据库表的占位符的模型吗?

4

1 回答 1

1

在存储库中,有多种方法可以根据需要设计模型。因此,更好地关注业务需求。我会试着解释一下。

聚合根:

如果您正在做领域驱动设计,通常采用的方法是每多个表一个实体。这称为聚合根。聚合根可能包含多个嵌套聚合。所以,这看起来像一些复杂的类层次结构。

好处是,您的模型对您的域比您的数据库更友好。这确实有助于持久性无关的开发。开发人员的主要关注点从持久性需求转移到了领域。

不过,这不是您的问题的一部分,如果您使用任何 ORM,这也有助于从完整的 ORM 中获得最大收益。

对于小型项目,这种方法通常是多余的。

每表型号:

这是通常用于小型应用程序的非常简单的方法;特别是,如果你不做 DDD。如果您的应用程序更像是面向数据库(如 CRUD)而不是域,那么这种方法是首选。你可能无法使用完整 ORM 的一些好的特性,比如广泛的映射功能、延迟加载等。

于 2018-06-12T08:30:03.280 回答