我们有一个抽象的 asp.net mvc 项目,它有很多副本。实际上,每个副本项目都具有几乎相同的功能。但有时在某些动作和控制器中可能会有所不同。此外,每个副本项目都有自己的主题。但他们共享来自抽象基础项目的大部分 javascript 代码。
在这方面,我们遇到了一些困难。
- 首先,我们不能继承 mvc 视图,所以每个副本项目都有自己的视图。当我们想改变一个功能时,我们必须在每个项目的视图中实现它。
- 在这种方法中,javascript 也是令人头疼的问题。因为,有时您必须在 javascript 中使用 html 层次结构。而且每一个html代码都是不同的,因为视图不同。
- 每次我们开始一个新的副本项目时,对我们来说都是一种痛苦。因为即使我们试图坚持基础抽象项目,我们也必须离开基础项目。
因此,我们需要一个可以为我们构建新项目(如主题更改)提供的项目结构。我研究了 MEF 结构。我不知道如果我们将复制项目作为插件制作会发生什么。此外,我不想将视图作为资源集成到程序集文件中。因为它不容易修改。我还研究了一些 MVC 主题结构,但这不是一个好的解决方案,因为它不可继承。
你的建议是什么?