Asp.net mvc MVC站点架构
我正在使用MVC4构建一个在线产品 目前,我将该项目结构化为明显的xx.Web、xx.Data、xx.Services 以下是我想征求您意见的一系列问题: 1-对于数据层,我将使用Repository模式。我已经创建了一个.dbml,它将承载我的数据库表。我应该为每个表创建一个类,还是应该使用.dbml生成的类? 2-对于存储库接口,我应该将它们放在哪里?在不同的项目xx.Data.Common中,还是在xx.Data内的文件夹中 3-错误记录和安全代码在哪里?我已经为此创建了一个xx.Web.Common项目 MVC应用程序的通用体系结构有什么指导原则吗?我的意思是,我做了一些研究,但你会被Ninject等扩展音淹没 我只想实施最佳实践。谢谢有一个现成的最佳实践起始模板。然而,我认为我在网上看到的大多数解决方案都是过度设计的,并且是针对企业级站点的 如果你只是制作一个在线产品,那么一个简单的2-3层解决方案就足够了。从最简单的解决方案开始。如果需要,您可以随时向其添加或创建新层 1-对于数据层,我将使用Repository模式。我已经创建了一个.dbml,它将承载我的数据库表。我应该为每个表创建一个类,还是应该使用.dbml生成的类 如果您从一开始就构建web,我建议您使用Linq2Sql,因为Linq2Sql已经不再发展 您不需要将模型中的1:1映射到数据库表中,只需专注于设计域模型表,数据库就会自动生成。另外,无需将repositoty的1:1映射到table。您需要了解具有聚合和聚合根的存储库模式 2-对于存储库接口,我应该将它们放在哪里?在不同的项目xx.Data.Common中,还是在xx.Data内的文件夹中 应该有一个称为:xx.Domain的dll来放置域模型和存储库接口。通过这种方式,xx.Domain是不依赖于任何其他程序集的核心程序集 3-错误记录和安全代码在哪里?我已经为此创建了一个xx.Web.Common项目 应该有更多名为:xxx.CrossCuttings的dll用于日志记录和安全性 使用IoC容器在层和可测试性之间进行松散耦合Asp.net mvc MVC站点架构,asp.net-mvc,asp.net-mvc-4,architecture,Asp.net Mvc,Asp.net Mvc 4,Architecture,我正在使用MVC4构建一个在线产品 目前,我将该项目结构化为明显的xx.Web、xx.Data、xx.Services 以下是我想征求您意见的一系列问题: 1-对于数据层,我将使用Repository模式。我已经创建了一个.dbml,它将承载我的数据库表。我应该为每个表创建一个类,还是应该使用.dbml生成的类? 2-对于存储库接口,我应该将它们放在哪里?在不同的项目xx.Data.Common中,还是在xx.Data内的文件夹中 3-错误记录和安全代码在哪里?我已经为此创建了一个xx.Web.
这不是MVC体系结构的一般准则,但保持代码简单、可维护和灵活是关键。这就是我的想法。也许实现存储库模式和Ninject将是一个良好的开端。问题是你读了无数的解决方案,但你从来没有看到它在实际情况中的优势。掌握理论知识并不能教会我们如何或何时实现这些特性。不过谢谢你的提醒。+1谢谢你先选择最简单的路线。imho的一个好方法是关注代码的可维护性,这样就很容易添加新内容。