【发布时间】:2009-09-17 05:05:17
【问题描述】:
使用经典的 asp,多年来我们开发了一个框架来处理一些相当复杂的 web crud 页面。
crud 类被设计成某种“有限状态机”
使用隐藏字段在帖子之间保留状态,页面上的每个事件都会引发具有特定操作的帖子。根据触发的动作和之前的状态,crud 类执行某些操作(如运行查询、保存记录、编辑记录等),然后进入另一个状态。
这些是我们目前正在处理的一些状态
query:让用户输入查询条件来过滤数据。
浏览:以表格形式显示数据。分页、排序等...
新建、编辑、删除:嗯,很明显
browse-single:类似编辑但只读
等等……
为了实现所需的功能,我们保留在隐藏文本信息中,例如: 实际动作、实际模式、上一个动作、上一个模式、所选记录的id、订单条件等...
现在我们已经实现了一些主从功能,但是这种方法有点太复杂了。
我们必须在隐藏字段中保留父记录的 id、父字段、父模式、子模式、当前选项卡、上一个选项卡(我们将信息分为几个选项卡)。 ..
当您必须处理“自定义”操作(如批准发票)或警告、错误、自定义“工作流程”等类似的事情时,事情会变得更加复杂......
最后我们看到,一旦我们偏离标准的 crud 案例,使用这种方法,事情就会变得过于复杂......
您如何看待这种方法?
你如何处理这些事情?
你能建议我看什么模式吗?
您如何跟踪表单的状态?
【问题讨论】:
标签: design-patterns asp-classic webforms