我最近开始学习ASP.Net MVC及其各种功能MVC_3_MUSIC_STORE +
CODE。
它看起来非常有条理,易于理解。
我正在阅读有关企业应用程序以及它们如何在不同部分进行分层/分层的内容 (逻辑/物理)
我想知道(学习)如何将上述MVC_3_MUSIC_STORE分离(转换)为n层或3层应用程序(因为我们已经有了一个工作示例)以便干净关注点分离。 我之前没有太多经验。
需要进行哪些更改?
需要哪些DTO(s)或POCO? 上面的示例使用从控制器到视图的POCO实体。 假设首先使用EF代码,它会保持不变吗。
此外,我想知道如果将WCF Webservice作为数据访问层引入,将需要进行哪些更改。即,客户端将从DAL检索数据,而不是从WCF Webservice请求数据。客户端可以是Web应用程序或WinForms或Sliverlight应用程序 ( [DAL < - > WCF WS] < - > N个客户)
了解各种方法会很有趣。
示例代码将是有用的和/或相同的示例。
编辑1 - 添加
我注意到的一件事是当我将模型类从Model文件夹移动到新项目“MYMODEL”时,我将不得不再次在新模型项目中添加对“System.ComponentModel.DataAnnotations”和“System.Web.Mvc”的引用?
如何避免这种情况?如何将这些验证移至业务层?
编辑2
寻找类似的东西
Advice For A Newbie About N-Tier Applications
答案 0 :(得分:2)
通常,唯一需要进行的更改是您将提供存储库(DAL层)的实现,该实现将调用WCF Web服务以从而直接与数据库对话的某些EF DataContext获取域模型。对控制器和视图完全透明的更改。