在三层中新增、删除、修改等操作应放在那一层?(50分)

  • 主题发起人 主题发起人 tadpoleplus
  • 开始时间 开始时间
T

tadpoleplus

Unregistered / Unconfirmed
GUEST, unregistred user!
原系统(二层),我写的一个自定义工具条,包含新增、删除、修改等操作,在三层模式中应该放在那一层呢?从书上理解好像所有的数据操作都应放在第二层。可第二层是DCOM,像我这种自定义的控件怎么放呢?
 
没那么死板,就方Client端吧。
表现控件,怎么可以放中间层内?
 
应该放在应用服务层。
 
最在第三層(客戶端),新增、删除、修改后再提交給每二層
 
就三层的思想, 应该把所有操作数据库的动作放到应用层。
Client 应该是这样的。不知道数据库,不用一句 SQL。
李维书上讲的是伪三层
是有两层的思想来操作三层物理上的结构。
 
放在中间层怎么保证原子性呀?
 
可放在中间层或数据库层。根据情况而定。
 
放在第2層,即中間層
 
当然是中间层。
前端用Tclientdataset控件,但不要和后端数据相连(取数据后就脱开连接),这样前端可以做insert/edit/delete等操作,但三层中的提交必须运行Tdatasetprovider的applyupdates命令才能完成,这个命令被包装在中间层(如com+)自定义的更新过程(如updatedata)中,前端保存时调用中间层的updatedata命令即可。
原子性?在中间层的updatedata过程中运用事务处理。
这样,前端可用数据控件做--省事,而整个程序又是真正的三层和对象的。所以,用midas和com+,鱼(开发的快捷性)和熊掌(面向对象性)都可兼得。
 
工具条包含新增、删除、修改等操作,不要直接操作数据库,而是通过调用应用层的函数,过程实现操作。就可以了
 
伪三层好呀,伪三层妙呀.
 
放在Client中,但是执行的操作要放在第二层中
 
后退
顶部