我们的应用程序是一个大规模的Javascript应用程序,使用Javascript MVC框架。我们通过SVN使用跨所有站点的MVC应用程序文件夹:external,每个站点都有自己的文件。设置文件是特定于该网站的。大型共享代码库,扩展功能
我们要求系统能够为每个站点提供不同的功能。核心功能应该保持不变。我们需要扩展核心代码,同时为当前和新开发人员提供可维护的解决方案。
目前我们已经想到的选项是:
一个:嵌入核心中的要素条件语句和开/关通过一个设置文件
B打开特点:覆盖/继承现有的控制器
c:在核心内部实现一个模块化系统(插件),并配置哪些插件通过settings.json加载/启用
选项a存在难以维护的问题g术语,而且相当黑客。
选项B已经实施,但难以维持(就好像我们有一个新的功能,我们是否已被覆盖
选项C是我们最近想到了一个解决方案来编辑每个站点的文件(通过使用共享(插件)控制器并编辑特定于站点的设置文件)
如果任何人有任何我们已经想到的选项的经验,并且如果有人知道另一个更好的选择
另外值得一提的是,我们使用OpenAjax,因此可以将共享代码与特定于站点的代码分离。我们也使用偷。js作为依赖关系经理 – Scott 2013-03-27 00:53:41
根据实际任务结束使用选项b和选项c: 使用选项b覆盖我们需要的模型方法 和选项c用于表单验证(向网站添加新规则比将它们添加到核心并使用功能切换) – Scott 2013-03-27 07:39:10