我需要使用表单捕获用户输入。表单中的每个字段都将经过验证。该字段将有效或无效。根据用户输入,表单的某些部分可以启用、禁用、筛选或以其他方式修改。
我正在考虑状态模式来建模通过表单的状态转换。每个状态都会影响表单的显示、过滤等。然而,我对状态模式的理解是,它需要大量的状态来表示我的表单。
例如,如果我有10个可以有效或无效的字段,即:
10P2 = 90排列。
这是大量要用代码表示的状态,我已经大大简化了这个问题。
问题:
发布于 2015-08-10 20:34:12
我是否误解了如何针对我的问题实施国家模式?
我想你已经正确地理解了。
如果不是,国家模式是否是我问题的错误解决方案?
是。当有有限的状态(条件)时,状态模式是一个很好的解决方案。你的情况不是这样的。
如果对最后一个问题是肯定的,什么是好的一般解决办法?
我建议使用规格说明模式。可以将任意数量的规则附加到输入字段。规则可以确定该字段是否应启用或禁用、可见或隐藏。同样值得注意的是,这些规则可以很容易地单独进行单元测试。
https://stackoverflow.com/questions/31926039
复制相似问题