1

我正在 C# .NET 2.0 应用程序中开发一个表单,其中包含有关表单上各种控件的状态(启用/禁用)的复杂逻辑。(该设计是业务分析师对 UI 最佳实践缺乏了解的表现。)

管理表单“状态”的最佳方法是什么?通常,我见过一个 ShowControls(state) 或 SetEnables(state) 函数,其中 state 是可能的配置(INITIAL、AFTER_SELECT、AFTER_COPY 等)的枚举。我预测这将很快变得无法维护。

您使用什么方法来维护表单“状态”?在跟踪复杂的控制交互过程中,您可能会涉及哪些模式?

4

2 回答 2

3

我最喜欢的模式是被动视图。它从表单中删除了所有状态管理责任。最后,它使您的演示文稿代码的维护变得更加容易,但在额外代码方面存在一些前期成本。

于 2009-04-17T15:21:55.113 回答
0

您可能会考虑与业务分析师一起采取其他策略,要么诋毁他,要么让他进入你的阵营,然后再继续,因为你正在进入一个黑洞听起来像。最好是在你身边赢得他,但这需要更多的耐心。这可能不是技术问题。

但是进入技术讨论...

由于您使用的是 Web 表单 2.0,哎呀,您可以使用用户控件使用视图状态来封装您的表单状态。您应该使用自上而下的方法。假设您有 5 个控制表单状态的控件。在每个控件中,您都有一个占位符,您可以根据控件的状态动态加载和加载内容。在动态加载的每个用户控件中,您可以执行俄罗斯娃娃效果(封装)并在其中放置更多疯狂的规则,分析师会随机抽出他的屁股。在这种情况下,封装和 ViewState 是你的朋友。只要确保在 Page_Init 事件上加载控件,因为它会使所有其他事件很好地配合。很抱歉您正在使用 Web 表单和 .net 2.0。非常抱歉。

于 2011-12-13T08:39:48.993 回答