MVC站点体系结构



我正在使用MVC4构建一个在线产品。

目前,我将该项目结构化为明显的xx。Web,xx。数据,xx。服务

以下是一组问题,我想听听你的意见:

1-对于数据层,我将使用Repository模式。我已经创建了一个.dbml,它将承载我的数据库表。我应该为每个表创建一个类,还是应该使用.dbml生成的类?2-对于存储库接口,我应该把它们放在哪里?在另一个项目xx中。数据。公共或xx内的文件夹中。数据

3-错误日志和安全代码在哪里?我创建了一个xx。Web。这是一个常见的项目吗?

MVC应用程序的通用体系结构有什么指导原则吗?我的意思是,我做了一些研究,但你会被Ninject等扩展的音调淹没…

我只想实施最佳实践。感谢

1-对于数据层,我将使用Repository模式。我已经创建了一个.dbml,它将承载我的数据库表。我应该为每个表创建一个类,还是应该使用.dbml生成的类?

如果你从一开始就构建你的网络,我建议你使用实体框架的代码优先,因为Linq2Sql已经没有进化了。

您不需要将模型中的1:1映射到数据库表中,只需首先设计域模型,数据库就会自动生成。此外,不需要从带有表格的重新定位中映射1:1。您需要了解具有Aggregate和Aggregate Root 的Repository模式

2-对于存储库接口,我应该把它们放在哪里?在另一个项目xx中。数据。公共或xx内的文件夹中。数据

应该还有一个名为:xx的dll。域以放置您的域模型和存储库接口。用这种方式,xx。域是不依赖于任何其他程序集的核心程序集。

3-错误日志和安全代码在哪里?我创建了一个xx。Web。这是一个常见的项目吗?

应该有更多名为xxx的dll。用于测井和安全的CrossCuttings。

使用IoC容器在层和可测试性之间建立松散耦合。

这不是MVC体系结构的常见准则,但关键是要尽量保持代码的简单性、可维护性和灵活性。

http://sharparchitecture.net/获得开箱即用的最佳实践入门模板。然而,我认为我在网上看到的大多数解决方案都是针对企业级网站的过度设计。

如果您只是制作在线产品,那么一个简单的2-3层解决方案就足够了。从最简单的解决方案开始。如果需要,您可以随时添加或制作新层。

最新更新