delphi面向对象编程的思考与困惑,难难难(300分)

  • 主题发起人 主题发起人 polisnew
  • 开始时间 开始时间
o/r mapping的成熟产品:
Bold for Delphi v3.1.2 / Name : Full Version
Serial : 99FA2DE1FB466E173301E5E788D6FF92
ftp://ftp.boldsoft.com/download/bfd/BoldForDelphiR31D6Enterprise3_1_2_5.exe
www.boldsolft.com
 
to mypine
下不了哟
 
o/r mapping的成熟产品:
Bold for Delphi v3.1.2 / Name : Full Version
Serial : 99FA2DE1FB466E173301E5E788D6FF92
http://www.boldsoft.com/download/_files/BoldForDelphiR31D6Enterprise3_1_2_11.exe
如果注册码不对,我也没办法,各位只有自己去找一下
 
当然直接下不了,要申请才行,填完表格就可以了。
不过mypine只给了Name和SN,没有activecode,所以没用。
三种注册方法都不行。干脆给个keyfile好了!
 
to all:
我希望各位能在这个问题上各抒已见呀, 下面这个网页中有Serial number.
http://www.thaimisc.com/cgi-bin/freewebboard/vreply.pl?user=asachanr&topic=233
 
to mypine:你的行不行,行的话生成一个KeyFile发给我好不好。
my Email: electric_monster@21cn.com
 
to emonster:
你可以去bold站点注册一下, 生成一个evluation version试一下, 我目前也
用的是evluation version!
 
我现在用的就是evluation version,但还有几天就过期了。
又要TRW2000出马?这种加密我最头大。
 
写在探讨前面:
典型应用系统可以看作四个层次,依次为:DBMS层,应用服务层,业务对象层,
GUI交互层。一定意义上,面向对象的分析与设计仅仅针对业务对象层,
GUI交互层,充当的是数据视图和业务对象控制者的角色,
应用服务层,充当的是业务对象交互角色,而DBMS层,则充当应用服务交互角色。
1、数据库封装问题
深有同感,确实需要一个记录对象。日常编程中,大多声明一对象记录类型,
尽管接下来可以完成面向对象的交互,却失去了Field的便捷;
或者用DataSet逻辑仿真Record使用;视不同情况不同方案。不过,也许数据集仅为关系
数据库概念,而记录是对象实例概念,ADO对象中也仅提供了_RecordSet集而无_Record。
Delphi对数据访问的封装也许是完善的,但对数据应用的封装确是不完善的。
2、三层架构的状态问题
个人感觉三层结构无问题,有问题的是现在使用者形成了两个极端,
一是两层逻辑硬搬三层形成的胖服务现象;二是面向对象逻辑硬搬三层形成的繁杂服务现象;
实际上业务对象层实现了对象交互,应用服务层不应该按照对象的逻辑编写,而应当按照
服务功能划分,如帐套分派、安全服务、库存业务服务、销售分析服务等,这不同于对象
设计,只是将对象需对数据库的直接访问转换为对相应服务对象的访问。大多数据集的
提供应是无状态的,很少是有状态的,这由应用对象的需求决定,决不是中间服务的提供者
决定。设计中间服务时决不应设计为对象。
3、客户属性定制问题
属性定制不难,难的是同步反映到GUI视图上。没办法,只能做有限定制(主要是隐藏属性)。
对象在不同系统中、对象属性差异过大时,不应该视为可重用对象。一个逻辑概念:
所有对象都是Object,难道数据库设计仅使用Object表?或者,所有对象都可以通过属性扩展
实现,难道数据库设计中仅使用类Win注册表的层次扩展结构?
 
好文章啊。。
只是面向对象的实现不是光靠理论就可以的。
不知道偶要摸爬滚打多少次才可以领悟?[?]
 
太深奥了!
收藏收藏
 
深有同感!
我们公司的软件已经做到7.0了!估计到7月份就要动工做8.0,
可每一个版本都不能兼容上一个版本,开发工具从Foxpro
到 VF 到 Delphi 到 。Net五花八门,而这些当中有些甚至压根就没有关系数据库的
概念,只要功能实现,管它三七二十一!
只有到当前这个.NET版本才来了一个高手,说要用面对象的方法,就是说,
客户端绝对不容许直接操作数据库,只许调用业务对象。
这或者就到了你说的第二个问题。
头痛呀!!头痛!!!!!
 
我到大富翁是大姑娘上花桥——头一回!我是一个DELPHI的爱好者,水平业余,用它
开发个几个小的关于数据库方面的系统。以上这些问题问得真好,回答也非常精彩!!!
值得学习和思考!
 
只有到当前这个.NET版本才来了一个高手,说要用面对象的方法,就是说,
客户端绝对不容许直接操作数据库,只许调用业务对象。
怎样调用业务对象的,说说?
 
www.dotspace.idv.tw
在该网站上有详细的文章介绍。
 
jiangur:
你的四层结构很有道理,我在设计一个系统时就是这种模式。如果弄不好,GUI和数
据交互能力很弱,可能大大增加了开发复杂度,目前我的心正惶惶不可终日呢。
原来的三层比较,四层结构的关键是业务对象层,如果和GUI层走的近一点,简直就
是自讨苦吃,使得delphi失去原有的数据库开发的便利和高效。如果和应用服务层走的近
一点,即业务对象放到中间层中,随着项目的进展,慢慢地你会觉得业务对象的存在简直
就是多余!faint!分特!真是狂吐血!!
我的感觉是DELPHI中引入OOD真的比麻烦。我曾听说把GUI和业务对象剥离有交为成功的
例子,不知那位大虾有这方面的经验。
 
赫赫,看看以前我曾经的思考:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=882692
 
非常欣赏上面 mypine 的分析,建议大家多读几遍。
 
后退
顶部