例如,如果我正在创建一个 3 层应用程序(数据/业务/UI)并且数据层正在抓取单个或多个记录。在发送到业务层之前,我是否将数据层中的所有内容转换为通用列表/集合?发送数据表可以吗?将信息发送回数据层怎么样?
如果我使用对象/列表,这些成员是数据层还是业务层?我可以使用相同的对象在图层之间传递吗?
这是一些伪代码:
具有电子邮件/密码的对象用户
在 UI 层,用户输入电子邮件/密码。 UI 层进行验证,然后我假设创建一个新对象用户传递给业务层,业务层进行进一步验证并将相同的对象传递给数据层以插入记录。它是否正确?
我是 .NET 的新手(来自 8 年以上的 ASP VBScript 背景),并试图以“正确”的方式做事。
最佳答案
一般来说,我认为发送对象比发送数据表更好。对于对象,每一层都知道它正在接收什么(哪些对象具有哪些属性等)。您可以获得对象的编译时安全性,您不会意外拼错属性名称等,并且它会强制两层之间的内在契约。
Joshua 还提出了一个很好的观点,通过使用您的自定义对象,您还可以将其他层与数据层分离。您始终可以从另一个数据源填充您的自定义对象,而其他层也不会更明智。使用 SQL 数据表,这可能不会那么容易。
乔尔也提出了一个很好的观点。让您的数据层了解您的业务对象并不是一个好主意,原因与让您的业务和 UI 层了解您的数据层的细节的原因相同。
关于c# - 我应该如何在类和应用层之间传递数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2387336/