我正在使用mvc框架构建项目。
我需要决定是否应该将前端和后台分成两个mvc应用程序
这是为了让我的解决方案整洁有序。但与此同时,我不想长期增加维护。如果最好有两个单独的项目或者只是在主Web项目下有一个Backoffice文件夹,你能否与我分享你在应用程序变得非常大的长期经验。
我意识到的另一个问题是如何处理这两个项目之间的图像..用户将照片从后台上传到后台应用程序下的文件夹,然后如何通过前端显示这些照片,反之亦然..
由于
答案 0 :(得分:3)
考虑这个问题的一种方法是问“用户的基本行为和愿望是否不同”。然后问:“后台网站的规模是多少”。越大,我就越有可能分裂它。如果它只是少数管理页面或几个报告,我会在原始项目中使用它。此外,“前后办公室需要以不同的速度扩展吗?”与20名履行人员相比,每小时100万次点击,以便在没有位置的情况下提供数字。第三,“前台和后台客户是否生活在不同的安全域中”能够在防火墙后面部署后台代码可以使其更加安全。
开发人员有开销,但有时候,如果您获得清晰,安全或简单,那就没关系。
一个建议,假设你要拆分它,分成三个项目:两个Web前端和一个包含共享代码和资源的库,比如一些基本的数据库访问代码。实际上,如果你想分享佣工等,可能会有两个项目。
答案 1 :(得分:1)
我非常喜欢分离应用程序,因为在大多数情况下优势往往超过优势。 Ball指出了一些重点,主要围绕不同的用例和安全环境。对我来说,另一个重要的因素是:
a)你可以继续使用后台办公室的东西,而一些前端细节仍在讨论中。 IE浏览器 - 您不会被市场营销阻止使用的模板和配色方案。
b)您可以根据应用选择不同的技术。 EG,你的后台可以使用传统的ASP.NET网页,因为你不关心SEO和其他webby行为,也可以保证你必须处理的浏览器和带宽功能。
开销明智,恕我直言确实没有太多的额外工作。而且大多数问题都是可以解决的。例如,您可以通过将图像存储在数据库中或制作两个应用程序都可以引用的公共文件存储来处理您的图像问题。