0

我是 MVC 应用程序开发的新手。我愿意使用 MVC 开发一个新项目,我寻找了很多适合 MVC 应用程序的架构。在阅读了许多文章和博客之后,我开始知道存储库模式可以用于此目的。
根据我在开始实际项目之前的理解,我创建了一个虚拟项目结构,如下所述[不使用 EDMX 文件,项目中的实体框架,定义的自定义 DAL]

我的虚拟应用程序的名称是 Repository。我以国家、州和城市关系为例来开发虚拟应用程序:

Repository_DAL_V1 类库该库的类如下:
SQLHelper.cs :此类具有执行查询的方法,例如 ExecutenonQuery 等。

Repository_DTO_V1 类库该库的类如下:
CountryDTO.cs :该类从 CountryModel.cs 继承为 [ CountryDTO:CountryModel ]。这将用于在应用程序的所有层之间移动数据。如果有任何应该的属性要在业务中使用,那么这将在 DTO 而不是模型中创建。
CountryDTOMapper.cs :用于将数据库中的数据以 DataTable 的形式映射到 DTO 对象的集合中。

Repository_Implementation web mvc 项目这是 UI 层。

Repository_IRepositories_V1 类库该库的类如下:
ICountryRepository.cs :这是一个接口,具有声明的函数,如 SaveCountry() 等。

Repository_Models 类库该库的类如下:
CountryModel.cs :该类具有完全适用于数据库中表的所有列的属性。

Repository_Repositories_V1 类库该库的类如下:
CountryRepository.cs :这是一个存储库类,具有定义的函数,如 SaveCountry() 等。

Repository_ViewModel_V1 类库该库的类如下:
CountryViewModel.cs :这将为屏幕上的 Country View 构建。

以上项目参考详情:

Repository_DTO_V1 有 Repository_Models 的引用。
Repository_IRepositories_V1 有 Repository_DTO_V1,Repository_Models 的引用。
Repository_Repositories_V1 有 Repository_IRepositories_V1、Repository_DAL_V1、Repository_DTO_V1、Repository_Models 的引用。
Repository_ViewModel_V1 有 Repository_Repositories_V1、Repository_IRepositories_V1、Repository_DTO_V1、Repository_Models 的引用。

我需要你们所有人的指导来引导我朝着正确的方向前进。

4

2 回答 2

0

我不明白为什么不使用 EF 与您在分层方面完成的任何其他项目有什么不同。如果您对使用多层感到满意,那么您的事物结构就没有问题。我不知道你的项目是关于什么的,但你应该考虑更好的命名,比如项目名称(存储库)和实现更好地命名为 Web。

编辑
我建议您将 Entity Framework 5 与 Code First 一起使用,也就是说,如果您想使用 ORM?

于 2013-02-20T06:28:00.243 回答
0

我当然和你一样希望错过 EF。

正如@Dejan.S 所说,您需要的架构取决于项目的大小。

我会从简单的开始,也许有 3 个项目:

  • 一个网络项目。
  • 控制器用于访问模型和业务逻辑的服务项目。
  • 具有您的模型和数据访问权限的域项目。

如果你需要分离一些东西(比如 DAL),你仍然可以稍后再做。

另外,请查看 ServiceStack 的MVC Power Pack。您可以开箱即用地获得出色的微型 ORM、IoC、缓存、快速序列化程序等。

于 2013-02-20T10:00:58.207 回答