探讨内容1.在做web业务开发时,业务单的数据何时写入数据库是最合适的?也是最及时的?
        2.实现业务单通用的增删查改功能,换言之:底层做好,我开发任何业务单都不需要增删查改了。前面我发了个帖子说是1000分求答案,其实当时我要的答案我自己都不清楚,现在我清楚的表达出来。也就是第一项探讨内容。数据何时保存的问题,我们先看一个页面布局。        主表信息 ...............
..............................
        产品列表               (新增产品)
产品1
产品2      这里是个DIV存放产品的信息
产品3
这种布局应该很频繁,就是1对多。一个业务单下有多个产品,我们一般不可能为每个产品布局一个DIV,DIV里的信息其实是读取每个产品的信息。我们的常规操作是点一个产品,然后右边DIV来加载相应信息。如果这个时候我修改了产品1的某些信息,然后我点产品2的信息。你们会不会将产品1的信息存入数据库呢 ????如果存了,用户并不保存业务单,就会出错。 如果不存,当用户修改完产品2的信息,想要确认一次产品1的信息是否修改正确的时候,用户再点击产品1,而这时候从数据库读取出来的信息,但是数据库并没做保存,相当于用户白修改了。。这个时候你会怎么做?谈谈我自己的想法,这个想法其实是结合了我们第二个讨论内容的,我认为常规做法不正确,生成一个临时表在数据库进行保存,然后当用户点了保存之后把临时表的数据更新到实际的数据库中,先不说要做区域离开保存,等等一系列的ID对应关系等,因为产品下面可能还有1对多的关系,ID对应关系就已经让人头大了。想法:专门在数据库里配置一张表,这张表主要存放表名与关系,以ID和PID的关系无限的关系类型表达出我们业务单的关系。比如业务单有1张主表A。2张子表BC 3张孙表DEF  其中BC属于A,DE属于B,F属于C。我们在关系里配置时候存储时就可以详细的把这种关系表达好。如
id pid tablename
1   -1   A
2   1    B
3   1    C
4   2    D
5   2    E                  这种存放方式我们就已经详细表达出了关系类型。
6   3    F
                现在,我们通过AJAX取回这个关系数据,用XML返回或者其他格式,这时候对此关系进行前台分析。
               他们有ID和PID的关系很容易分析。 然后在页面动态生成一个对象,这个对象要精确表达出表与表的关系,并且具备存放数据的功能。  好了,就这么多。对象生成完毕,我说下操作模式,页面应有3种模型,一是 原对象(原始关系对象),二是 对象旧(为什么说旧,听我说下去。)  三就是 对象新假设我现在操作 施工单。页面加载同时我通过一系列的封装方法得到一个关系对象  var obj=getparobj("施工单")
这就是原始对象了,   我新建施工单进行保存时,我会同步生成一个新对象,这个对象具备数据表的行和列,我增加删除均在此对象进行,而进行保存之后,我会统一分析这个对象。将它的数据保存进数据库。而这里主要要说的就是旧对象。
如果施工单已经进行了保存,当我们需要对当前施工单进行修改的时候,页面加载时:就会生成一个旧对象,存储修改前存放在服务器上的数据。  而我们的新对象=旧对象。当修改页面的任何地方,都修改的是新对象,而像第一个图列说的,我点产品1,产品2等。我都是从新对象里加载我修改之后的数据。而当用户取消,或者放弃保存的时候,我直接把旧对象的数据赋给新对象,是不是简化了与服务器交互的操作。这个就是我要说的第一个讨论,同时细心的话,大家会发现我这个隐含了通用的增删查改实现办法。。现在先欢迎大家发言讨论。