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