我需要帮助设计一个用于团队环境的MVC结构吗?以下是我们正在做的简短说明:
选项:
我们有8到10名开发人员正在开发这个应用程序,所以我只想确保我拥有最好的结构。
答案 0 :(得分:1)
我认为这里没有“正确”的答案,基本上归结为您认为随着时间的推移最容易构建和维护的内容。所以这就是我要做的。
将模块组合成更易于管理的单元,并将模块放在不同的网站项目中,模块将作为区域。如果视图共享在这里是最重要的,那么这将是您将模块分组到具有不同区域的网站的标准。此外,如果他们分享一些观点,那么他们在逻辑上也可能或多或少相似,所以你最终也会按照他们的逻辑意义对它们进行分组。 然后,您可以将这些项目作为解决方案中的不同项目,或者完全不同的解决方案。
似乎还有using views from different projects的方法。 我个人从来没有这样做过,这个链接是Google搜索给我的快速链接,所以一定要仔细检查一下。这可以使您的观点在所有网站上都可以重复使用。
关于模型和存储库,我将它们放在一个完全独立的项目中,然后由所有网站引用。最近我倾向于构建我的模型和存储库而没有任何“客户端”,因此我通常将它们放在一个完全独立的项目中,我尝试构建它们以便它们可以轻松地被网站,网站使用服务或桌面应用。
我希望这会有所帮助,但正如我所说,这绝不是一个正确的答案(而且可能完全错误,所以如果有人有更好的想法,请分享)。顺便说一句,如果你有8-10名开发人员正在研究它,请务必问他们。来自聪明人的一堆不同意见倾向于融入有用的想法。
答案 1 :(得分:0)
您可以通过多种方式实现这一目标。
一种选择是使用Portable Areas,其中每个区域都是自己的程序集。这可以解决您的项目规模问题。