状态设计模式用户界面

eve*_*ent 5 c# asp.net user-interface state design-patterns

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

基本上,我的对象有状态A,B和C,也行动不同状态之间移动:ActionAToB,ActionBtoAActionAtoC.

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

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

dar*_*mos 1

使用观察者模式和状态模式。让您的 Form 类(或您用于 UI 的任何类)成为观察您的 ABC 对象的观察者。当这些对象改变它们的状态时,它们将通知视图,并且她将相应地更新自己,隐藏适当的按钮。我在博客中介绍了这一点,请参阅此处:Programate Algo Blog

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

编辑:如果您希望 UI 更易于维护,您还应该研究一种分离视图和模型的模式。有很多,有MVC、MVP和MVMM。