2011-05-31 146 views
5

我在学习状态设计模式。我正在使用C#ASP.Net(不确定语言是否相关)。状态设计模式用户界面

基本上,我的对象具有状态A,B和C,以及在不同状态之间移动它的操作:ActionAToBActionBtoAActionAtoC

我想要做的是将这个对象绑定到屏幕上,并有按钮触发这些操作,但问题是:如何只显示与对象所在的状态相关的按钮,并显示/隐藏状态改变时按钮?

我正在寻找一个优雅的解决方案,与状态模式,或任何建议,将使UI易于维护。

回答

1

使用观察者模式以及状态模式。让你的Form类(或者你的UI中使用的任何类)成为观察你的A-B-C对象的观察者。当这些对象改变他们的状态时,他们会通知视图,并且她会相应地更新自己,隐藏适当的按钮。 我博客中提到这一点,在这里看到:Programate Algo Blog

如果你看到一些西班牙,无论我的博客,我是双语:)

编辑不要害怕:如果你希望你的用户界面更容易十个分量,您还应该考虑分离视图和模型的模式。有很多,有些是MVC,MVP和MVMM。