我們的應用程序是一個大規模的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