谢谢大家,最近有事,一直没来看贴。
谢谢duhai_lee.
>>为什么不加一条, 象用delphi一样用delphi呢?
你这句话确实精彩,再补充上这一句,我就会少挨一些板砖了(尽管我更需要板砖:)
delphi特有的一些功能确实方便而强大,是其它编程环境所不能比拟的。我只是因为我
个人的原因,很少涉及这些特点。
>>你提的分层我就不多做评说, 我认为你的分层有点牵强,而且没有做到真正的分层。
>>分层基本要让一个层次不知道关联层次是什么东西,只要知道该层次给它提供了什么样
>>的接口即可。 它只需要调用这些接口即可。
坦白的说,这个分层,基本上是我闭门造车的结果,很多东西欠推敲。业务层类中
都有一个到存储层的基类,它就是我的调用接口。
>>其次你对xml部分的应用我没怎么看明白, 为什么不用xml data binding 生成的接口来实现,
>>当然这样做的效率会差一些。 你管理xml文件的方法为什么写成全局的?
>>我认为这样的方式很不严谨。 不知你怎么看。
我不太明白你的意思,我只是用xml作为存数据的容器。
>>你的TPM类的封装, 很多字段(Field)直接是public的, 为什么不做成属性?
>>这样可以控制访问权。 有很多好处。
嘿嘿,是我偷懒了
>>你的异常封装确实不错, 不过为什么不赋值给application的 showException来处理异常,
>>这样你会省去很多代码, 不用on do 截获了。
我觉得还是自己截获更清晰一些。因为在java中,都处处都不能忘了捕获异常,这应该是个好习惯。
>>在你提的oo方面的纵横思想,确实反应了oo的特性, 但是oo中非常重要的接口概念没有出来,
>>接口对于分层来说再好不过了。 不过是封装称独立的dll的插件式的结构还是普通的业务层与
>>数据操作层之间的关联, 都是很理想的设计方式。
我认同你的意见,面向对象的编程更本质的讲就是面向接口的编程,在这个项目中体现的确实不多。
>>另外你说迁就了delphi很多地方, 我不太明白。 到底是那些地方?
>>还有你说的delphi没有静态变量是缺陷, 这个问题, 我的看法不同, 我认为从来都不是缺陷,
>>或许是你习惯于java、c#的 静态变量了。 也或许是我习惯于delphi的精准。
从delphi整体的角度来说,没有静态变量也似乎无关紧要,但从OO的角度讲,总想少了一些东西。
说几个“迁就”delphi的地方与你讨论。
1.要想办法模拟静态变量。
2.frame中用的控件没法隐藏起来,不得不要把它们裸露给使用者。
3.只能在运行时才知道一个抽象类被create了出来。
4.坦白的说,我不会用delphi来定义一个interface,所以就没用
5.一个事件不能有多个处理函数。换成java的话说,一个event不能填加多个listener。
(虽然delphi有变通的方式,看起来也太完美)
6.private的构造函数仍然可以直接调用,这也使的我写的TPM有硬伤,只是我睁一只眼闭一只眼罢了。
所谓的“迁就”,仅仅是就我个人而言从某个角度的看法。