繁体   English   中英

将ASP.Net MVC转换为N层

[英]Converting ASP.Net MVC to N-Tier

我最近开始学习ASP.Net MVC及其各种功能MVC_3_MUSIC_STORE + CODE
它看起来非常有条理,易于理解。

我正在阅读有关企业应用程序以及它们在不同部分中的分层/分层的信息
(逻辑/物理)

我想知道(学习)如何将上面的MVC_3_MUSIC_STORE单独(转换)成n层或3层应用程序(因为我们已经有了一个工作示例) ,以便 清楚地 分离关注点。 我之前没有太多的经验。

需要进行哪些更改?

什么是不同的DTO(s)或POCO(s)需要什么? 上面的示例使用从控制器到视图的POCO实体。 假设使用EF Code,它会保持不变吗?

此外,我想知道如果将WCF Webservice作为数据访问层引入,将需要进行哪些更改。 即,客户端将从DAL检索数据,而不是从WCF Webservice请求数据。 客户端可以是Web应用程序或WinForms或Sliverlight应用程序。
[DAL < - > WCF WS] < - > N个客户端

了解各种方法会很有趣。

示例代码将是有用的和/或相同的示例。

编辑1 - 添加
我注意到的一件事是当我将模型类从Model文件夹移动到新项目“MYMODEL”时,我将不得不再次在新模型项目中添加对“System.ComponentModel.DataAnnotations”和“System.Web.Mvc”的引用?

如何避免这种情况? 如何将这些验证移至业务层?

如果转移到新项目,参考将丢失

编辑2
寻找类似于这个关于N-Tier应用程序的新手建议

通常,唯一需要进行的更改是您将提供存储库(DAL层)的实现,该实现将调用WCF Web服务以从而直接与数据库直接对话的某些EF DataContext获取域模型。 对控制器和视图完全透明的更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM