我目前正在參與開發一個C#CMS類似的Web應用程序,它將用於標準化我們的網站開發。從一開始,這個想法就是保持核心儘可能簡單,以避免複雜性和菜單/選項超負荷,使許多CMS系統受到影響。這個簡單的核心現在已經完成並且工作得很好。創建可以通過插件/模塊擴展的Web應用程序
我們設想系統將能夠接受可擴展核心功能以滿足特定項目需求的插件或模塊。這些也可以跨項目重複使用。例如,可能需要基本目錄和購物籃。所有這些擴展的代碼應該在單獨的程序集中。他們應該能夠從這個庫中提供他們自己的管理界面和前端代碼。系統應搜索可用的插件併爲管理員用戶提供啓用/禁用該功能的選項。 (這是大家都非常喜歡的WordPress插件)
至關重要的是,我們的攻擊以正確的方式這個問題,所以我想在跳之前執行儘可能多的盡職調查成爲可能。
我意識到插件模式(http://msdn.microsoft.com/en-us/library/ms972962.aspx)並閱讀了一些關於它的使用的文章。這似乎是合理的,但我不相信這種情況必然是正確/最好的技術。它似乎更適合處理應用程序(圖像/音頻操作,數學等)。
是否有任何其他選項可以實現這種UI擴展功能?還是插件模式的路要走?
如果有人有鏈接到解釋使用插件模式爲此目的的文章,我也會感興趣嗎?
我還沒有完全進入MEF的機會,但它看起來應該爲問題提供解決方案。謝謝! – 2010-04-20 11:22:44