怎么解决在构造三层体系时一个容易犯的毛病?欢迎各位进来一展高论!
在阅读<delphi开发人员指南>一书的midas章节的时候,作者写了这样段发人深省的话:
"在建立多层应用程序中,最常出现的失误是把关于数据库的不必要知识放在了表示层,如,从客户端向服务器发送动态sql命令,那么,客户应用程序必须总是与数据库保持同步。这种方式带来更多的不稳定成分,它需要在整个多层应用中被调整。如果改变了数据层上一个表的结构,必须更新所有发送动态sql的客户应用程序,这样才能发送正确的sql命令."
对这段论述本人深有同感.记得以前开发过一个项目,为bs架构,中间层是asp+com,当时为了实现一个动态查询操作,比如要查一张表中的纪录,用一个接口来实现,传入记录结果集以及纪录过滤条件,也就是在该接口函数中获得 where afield=xx and bfield=xx ...的动态sql语句,这样的结果是使得接口要传入的参数巨多,可读性差而且当该表需要更改结构比如添加一个字段的时候,就需要修改接口以满足对该字段的查询,而接口的改变必然要对客户端调用进行修改.这样一来,中间层的优势就大打折扣了.
看罢以上这段文字,不知各位意下如何?有什么方式可以解决这个问题,无论是Com或者在Midas中,怎么来实现比如动态查询功能,而又使我们的中间层非常有弹性?望赐教.