gpt4 book ai didi

c# - n层和每层都需要的对象?

转载 作者:行者123 更新时间:2023-11-30 22:27:37 25 4
gpt4 key购买 nike

我们有一个经典的 3 层架构应用程序。现在我们面临一个小问题,我们不知道处理它的最佳方法。

在最后一层(数据库层)我们有一个 POCO 类,它被数据库中的数据填充。在顶层,我们有一个 MVC3 asp.net 网络应用程序。如果 MVC 应用程序只能读取 POCO 类,那么它会工作得最好。

但是由于GUI层不能直接访问数据库层,所以不能得到完全相同的类。

从最后一层到顶层获取 POCO 类的最佳方法是什么?

最佳答案

实际问题是您的实体不应在数据层中定义。数据层以及您应用中的任何其他层,有一天可能会被完全重写,您不希望实体本身绑定(bind)到这些层中的任何一个。

换句话说,在一个单独的项目中定义您的实体,然后从所有其他项目中引用它:

- Entities

- Data access layer
+ references Entities

- Business layer
+ references DAL
+ references Entities

- Presentation layer
+ references BL
+ references Entities

存储库接口(interface)也是如此:如果您使用存储库模式来抽象数据访问,Entities 项目应该包含所有存储库接口(interface),然后可以由特定的实现DAL 选择。

关于c# - n层和每层都需要的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11220991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com