我试图理解一个好的设计项目的概念。
我正在使用 ASP.NET MVC,并且正在尝试创建一个分层(可插入)项目。
我现在拥有的当前项目结构是这样的:
LayeredProject
- 包含控制器的 MVC 项目LayeredProject.EntityFramework
- 包含用于数据库的所有 POCO 类。(我正在使用代码优先方法)LayeredProject.Model
- 这应该包含项目中使用的所有业务对象。
说该项目是一个电子商务网站,我会这样构建它:
在
LayeredProject.EntityFramework
项目中,我有对应于数据库表的类。类别、产品、用户。该项目仅用于保存和加载数据库中的数据,这些对象不应用于其他目的。这个项目有一个对LayeredProject.Model
项目的引用。在
LayeredProject.Model
项目中,我存储了我使用的所有对象,其中大多数都是LayeredProject.EntityFramework
POCO 的对象和使用的其他一些服务类的副本。我
LayeredProject
保留了我所有的 ViewModels 类、控制器和不同的 UI 逻辑。这个项目有一个对LayeredProject.Model
项目的引用。
首先,我不确定这是否是正确的做法。
而且,这是正确的做法,然后我会有点困惑,因为我将在EntityFramework
项目和Model
项目中复制我的 POCO 类。
请帮助我理解这一点