2010-07-12 116 views
3

由於團隊開發自定義應用程序框架將被提供給第三方開發的一部分,我需要拿出一個簡單但完整的解決方案,以讓開發人員定製圖(A)主要應用佈局(B)我們的解決方案。自定義應用程序框架

對於B,我們將使用自定義UI複合方法(類似於Prism,但更簡單),其中主要應用程序佈局將由第三方配置。

至於A,我們將創建需要定製的用戶控件,並且可能完全由第三方「覆蓋」。發放主要佈局文件的XAML代碼

i)和所述用戶控件(A和B):

建議的解決方案。在A的情況下,第三方開發人員將能夠使用默認的UserControl(位於Views/Default中),或者通過在Views/Custom中創建相同的控件來完全覆蓋它。

ii)給出主佈局文件和UserControls(A和B)的XAML代碼並使用IoC(Unity)來交換/擴展它們。

我的問題:

  1. 關於提出的解決方案有何評論?任何其他想法?
  2. 你知道有誰開發過這樣的東西嗎?

此外,無論我們想出它應該在WPF,Silverlight和ASP.net上工作,因爲框架支持這三種技術。通過這種重複使用的技術,我指的是「出版」的機制,不重複使用WPF中的XAML文件/ SL/ASP(是沒有意義的!)

感謝,

回答

2

這是不小的任務,僅供參考,棱鏡很大程度上是這樣你所看到的是複合應用架構的聖盃。

我最近做了很多工作,如果沒有成爲這個毫無意義的框架,您不能支持每一種可能的情況,但是您可以將可插拔性設計爲默認框架。

我真的很喜歡這類應用程序體系結構,因爲它們通常具有很好的屬性,如鬆散耦合並因此可測試。我認爲這是要爭取的最重要的事情之一。

MVVM模式真正爲建築視圖抽象提供了自我,使用WPF或Silverlight你會比ASP.NET更適合(尤其是如果你正在考慮WebForms)。無論如何,沒有漫不經心地談論所有這些,如果做得對,使用像MEF這樣的東西來構建一個可擴展的框架是很有意義的。你應該選擇一個擅長插件架構的IoC容器,因爲你的第三方開發者會喜歡它。你給他們一個帶有大量可擴展點的測試框架,並且他們以受控的方式定製它。最好的兩個世界。