当使用我需要实现一个wizardy,动态的用户界面,使用该样式的复杂的验证:模式来构建复杂的web UI
如果A = 1,显示控制B,C,D B是 要求,C不是,并且D不是 如果它填充 必需必须小于30。
如果A = 2,则显示对照B,D,E。B不需要 ,D是必需的,但是具有 无限制,并且E不是必需的。
如果B不为空,放映控件B,d,E B是 不是必需的,d是必需的但具有 没有限制,以及E是不需要的。
从历史上看,我的表现层尽可能“哑”,因为它只负责捕获用户输入并将其绑定到适当的域模型。反过来,域模型包含验证其状态和任何子对象状态所需的逻辑,然后通过notifications将任何无效状态传递到表示层。因此,对于高度“智能”用户界面的这种要求对我来说是一种启示。
我觉得我别无选择,只能建造2个非常相似的类层次:
- 一个,将捕获介绍业务规则(即哪些领域是可见的),并控制在查看什么使
- 一个它将捕获域业务规则(当字段A = X,然后字段B不应为空并且在n到m的范围内)以禁止具有无效状态的对象被持久化
Sill I have more more问题比我的答案要好tegy前进。是否有一组设计模式可以用来构建这样的动态UI?我确实可以选择使用ASP.NET MVC或WebForms,因此无论哪种方法都会产生更清晰,可测试的代码。