状态设计模式用户界面

时间:2011-05-31 20:49:27

标签: c# asp.net user-interface design-patterns state

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

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

我要做的是将此对象绑定到屏幕上,并让按钮触发这些操作,但问题是:我如何只显示与对象所处状态相关的按钮,以及显示/隐藏按钮当国家改变?

我正在寻找一种优雅的解决方案,该解决方案与状态模式或任何可以使UI易于维护的建议相关。

1 个答案:

答案 0 :(得分:1)

使用观察者模式以及状态模式。让你的Form类(或者你用于UI的任何东西)成为观察你的A-B-C对象的观察者。当这些对象改变其状态时,它们将通知视图,她将相应地更新自己,隐藏适当的按钮。 我在博客上写了这篇文章,请看这里:Programate Algo Blog

如果你看到一些西班牙语,我的博客和我都是双语的,不要害怕:)

编辑:如果您希望UI更容易保持,您还应该查看用于分隔视图和模型的模式。有很多,有些是MVC,MVP和MVMM。