2011-05-31 144 views
5

我在學習狀態設計模式。我正在使用C#ASP.Net(不確定語言是否相關)。狀態設計模式用戶界面

基本上,我的對象具有狀態A,B和C,以及在不同狀態之間移動它的操作:ActionAToBActionBtoAActionAtoC

我想要做的是將這個對象綁定到屏幕上,並有按鈕觸發這些操作,但問題是:如何只顯示與對象所在的狀態相關的按鈕,並顯示/隱藏狀態改變時按鈕?

我正在尋找一個優雅的解決方案,與狀態模式,或任何建議,將使UI易於維護。

回答

1

使用觀察者模式以及狀態模式。讓你的Form類(或者你的UI中使用的任何類)成爲觀察你的A-B-C對象的觀察者。當這些對象改變他們的狀態時,他們會通知視圖,並且她會相應地更新自己,隱藏適當的按鈕。 我博客中提到這一點,在這裏看到:Programate Algo Blog

如果你看到一些西班牙,無論我的博客,我是雙語:)

編輯不要害怕:如果你希望你的用戶界面更容易十個分量,您還應該考慮分離視圖和模型的模式。有很多,有些是MVC,MVP和MVMM。