给定: 我是一个团队转换/重建近150个小型ASP Classic,ASP.NET和& ASP.NET MVC将Intranet应用程序转换为新的单一自定义Intranet应用程序架构解决方案。我们的目标是ASP.NET MVC 5.各个遗留应用程序将转换为新解决方案/架构中的单个可构建产品项目。
目标: 我的目标是为用户界面资产管理和参考提供愿景。该愿景应包含共享资产以及独特的产品资产。
问题: 为了便于部署,我正在考虑一个相当平坦的共享UI项目。然后,对于独特的项目资产需求,我考虑将它们保存在各自的项目中,而不是将它们放在UI项目中,以某种方式嵌套/按产品组织。我对这种方法应该考虑哪些意见或顾虑?
谢谢, 列维
答案 0 :(得分:1)
虽然这个问题需要进一步澄清,但我将概述在为大型医疗保健提供者工作时对我有用的策略,并且有类似的艰巨任务。
采用名为样式表的产品/项目,轻松识别架构中的过载
\my-org-root
\my-org-root\assets\my-org-global.css
# This is the global stylesheet that gets included for every HTML request
\my-org-root\project-apples
\my-org-root\project-apples\assets\css\apples.css
\my-org-root\project-pears
\my-org-root\project-pears\assets\css\pears.css
\my-org-root\product-animals
\my-org-root\product-animals\assets\css\animals.css
\my-org-root\product-animals\lions\assets\css\lions.css
\my-org-root\product-animals\tigers\assets\css\tigers.css
这不会让人感到意外:使用Sass。它将有助于保持一致性并防止你出现栓塞。
尽可能多地利用部分
Html.RenderPartial("~/Views/Shared/_Product.cshtml", product);
积极追捕并摧毁内联样式。
如果您必须支持文件上传或自托管视频,则有一些方法可以继续,但这些方法主要取决于您的安全策略。理想情况下,我推荐像亚马逊S3这样的托管安全解决方案。这些使BLOBS保持在您的问题域之外,并使您专注于基于UI的文件。如果您无法使用托管解决方案,那么您将需要资产目录策略。
\my-org-root\project-apples
\my-org-root\project-apples\assets\video\FILE-ID-REF.ext
\my-org-root\project-apples\assets\files\2014\1\22\FILE-ID-REF.ext
# or, perhaps more simply
\my-org-root\project-apples\assets\files\FILE-ID-REF.ext
需要澄清吗?请问。