0

所以我正在考虑在这个 asp.net 项目上使用 LLBLGen Pro 和 Spring.Net,使用服务层将业务逻辑与数据存储分离。我也在考虑在 UI 层使用 PONOS,现在我的问题是:

我应该将丰富的 LLBLGen 实体对象映射到数据层还是服务层中的 Ponos?如果我在数据层中执行此操作,那么我会在服务层中丢失它们所有的丰富功能。还是我应该跳过到 Ponos 的映射并一直使用 LLBLGen 实体?如果以后会更难测试吧?

有人可以告诉我这两种方法的优缺点吗?

谢谢

4

1 回答 1

3

使用不带映射的 LLBLGen 实体的好处是,您可以直接从数据库模式(甚至在 LLBL 3.x 中没有数据库模式)生成实体,因此您可以在几分钟内拥有一个非常有用的实体模型。缺点是你的实体继承自 LLBL 框架类,这使得它们更难用行为/业务逻辑来丰富。如果您通常将您的业务逻辑设计为一组服务,那么这不会造成问题。

在这种情况下,我不认为测试是一个问题,因为我通常将实体视为“贫血”数据对象,并且我通常不会模拟此类对象(没有真正的理由这样做)。

映射到 POCO 的好处是您可以完全控制域/实体/DTO 对象的设计,并且它们可以像您想要的那样丰富或贫乏。缺点是您必须设计和编码 POCO 类和映射,并且(如您所说)您将失去一些功能,例如内置于 LLBL 实体中的更改跟踪。

我个人选择使用生成的实体对象,除非我有很好的理由不这样做。

于 2011-01-18T00:11:26.673 回答