对数据库操作方:
当一个类的函数实现的功能如:修改某个表的符合条件的某几个字段的值,各位的函数参数怎么设计的?是传入多个参数,还是传入链表(链表里面存要处理的参数),还是定义一个类这个类就是记录参数。
如果函数功能是:要根据一个表的信息修改另一个表的信息,是传一个数据集进去,还是参很多需要的参数?
不知道各位在类的设计时候是怎么考虑的?
想和各位探讨一下模式设计问题?如果更好把表现层 业务操作层 数据库操作层 更好的分开!

解决方案 »

  1.   

    要是我,就会传入一个已经拼接好的SQL指令串.
    然后通过相应的组件来执行这个SQL指令完成操作.
    类似于下面这样的定义
    function UpdateData(DBCONN:tadoconnection;const SQLCMD:string):boolean;
      

  2.   

    拼接SQL串放在客户层了,功能函数也可以放在客户层.如果你想做多层的,更加通用的处理功能,也可以把它放在中间层.对应的原型可能会发生一些变化了.
      

  3.   

    表现出的用户接口可以设计出一个foo(parm[], nItem)这样的结构
    或者foo(list) //这样一个可以获取数据集合大小的结构
    不过个人偏向前一种,因为可以减小网络流量一个参数,还是多个参数,这个的处理是中间层的处理。可以根据具体应用拼凑SQL字符串,达到需要的结果中间层最后可能调用的是数据库中的一个存储过程,或者传一个SQL语句执行数据库只用管接受到的请求,处理返回数据集,即可