【发布时间】:2012-02-16 23:58:29
【问题描述】:
我计划创建不同的层,所以在我的 Visual Studio 项目中,我将拥有:
业务层: 包含业务对象(实体) 即用户、员工、产品等
数据访问层: 实体框架
表示层: 视图和视图模型
比如说,我想让用户登录到这个应用程序。
- View 将显示 UI 以让用户输入信息。
- 当用户按下回车键时,执行命令 => ViewModel
- ViewModel 将使用 Entity Framework 从数据库中查询 User 数据,然后 ViewModel 将初始化一个 User 对象(来自 BusinessObject ),并将 User 数据映射到 User 对象。
- 然后此用户对象将存储到静态参数中以供将来使用。
所以我真正关心的是:
- 这是设计 N 层的正确方法吗?
- 我应该将每一层分配给不同的 Visual Studio 项目吗? (即业务对象将在另一个项目中)
- 让业务对象自己查询数据是不是更好?所以在 业务对象构造器会调用实体框架吗?
- 我应该写一个 Repository 类来使用实体框架吗?
我不介意这是否复杂,因为据我所知,这个应用程序将非常庞大。所以我想适当地设计它,使其灵活和可扩展。
任何建议都会很棒,谢谢。
【问题讨论】:
-
将其分解为单独的问题。
-
在这里阅读我的答案,如果你喜欢 ;-) stackoverflow.com/a/7474357/559144 它获得了相当多的选票,我通常在 n 层/层架构中采用这种方法,无论是否有 ASP.NET 和实体框架...
-
@JeffO 让我们看看我该如何分解它.....我一起问的原因是因为我真的不知道我应该如何分解成不同的项目然后项目参考彼此...
标签: c# wpf mvvm business-objects