2011-11-28 101 views
0

我想建立一個使用模型視圖控制器的程序。MVC:控制器和視圖通信(C#)

具體做法是:

我有一個狀態管理器在同一時間,處理(初始化,加載,運行,卸載等等)的一組MVCS,之一。

在每個集合中,單個控制器都包含對相關模型和視圖的引用。

每個模型,視圖和控制器都是從父類派生的。 (即抽象模型,抽象視圖,抽象控制器)。 這使我可以將大部分進程保留在父類中,而不是在狀態管理器將處理的每個特定mvc集中添加重複代碼。

現在的想法是讓每個觀其控制方法,進而將其模型方法調用呼叫,並在模型方面的任何變化都會被傳遞迴通過控制器的視圖。

這是我卡住的地方。 每個視圖和模型對控制器的唯一知識是在其父類中定義的。哪個當然不包括子控制器爲了正確處理視圖和模型而需要的非常具體的方法。

有沒有關於如何處理這個問題的想法?

- 謝謝。

回答

0

你可能比MVC更接近MVP。無論如何,繞過你的問題可能會使用接口和泛型。

讓你的抽象類需要一個通用的接口:

public abstract class BaseView<TController> 
{ 
    protected TController Controller { get; private set; } 

    protected BaseView(TController controller) 
    { 
     Controller = controller; 
    } 
} 

大意的東西。

那麼你的特定的控制器將簡單地執行相關接口。

+0

我需要那麼TController實例轉換爲相應的子控制器然後爲每個兒童觀正確? 如果你的意思是別的東西,除非? –

相關問題