精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● 系统分析>>自开版到2000-04-10待整理精华>>VB如何组装“整体-部分”关系中的

主题:VB如何组装“整体-部分”关系中的
发信人: johnnyxu()
整理人: majorsun(2000-03-08 19:11:55), 站内信件
    当对象A以对象B的集合作为它的属性时,B又以对象C的集合作为
它的属性,形成层次关系。为了管理B、C的集合中每一个对象,建立
B、C的集合类,还建立数据存取类进行数据库连接和数据存取。
    VB中,数据存取类应如何将数据传给A、B、C?是一次性传回分层
记录集,还是依次取回A、B、C的数据?A、B、C从数据存取类得到数
据后,怎样、在哪里组装属性?在集合类中还是在类中?能否只建立一
个数据存取类的实例,为所有A、B、C提供数据(否则要建立多个数据
库连接)

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.253.207]
发信人: leeyg (雷云沟), 信区: SystemAnalysis
标  题: Re: VB如何组装“整体-部分”关系中的“整体”对象?
发信站: 网易虚拟社区 (Sat Oct 23 13:50:53 1999), 站内信件

【 在 johnnyxu (johnny) 的大作中提到: 】
:     当对象A以对象B的集合作为它的属性时,B又以对象C的集合作为 
: 它的属性,形成层次关系。为了管理B、C的集合中每一个对象,建立 
: B、C的集合类,还建立数据存取类进行数据库连接和数据存取。 
:     VB中,数据存取类应如何将数据传给A、B、C?是一次性传回分层 
: 记录集,还是依次取回A、B、C的数据?A、B、C从数据存取类得到数 
: 据后,怎样、在哪里组装属性?在集合类中还是在类中?能否只建立一 
: 个数据存取类的实例,为所有A、B、C提供数据(否则要建立多个数据 
: 库连接) 

先让我理解一下你的问题:
A是对象,A中有“对象B的集合”(而不是对象B的属性的集合)
B是对象,B中有“对象C的集合”(而不是对象C的属性的集合)


如果正确,按我的理论,应该这样:

建模

classA: 属性:A的属性,一个类B的已有对象数据库的表现(??,
              我不知道用什么准确的术语描述这个对象集,在
              DELPHI中,这是一个TABLE,或QUERY,或DATASET)
        方法:Get
classB: 属性:B的属性,一个类B的已有对象数据库的表现
        方法:Get
classC: 属性:C的属性
        方法:Get

数据库的设计:
数据库A:A的属性
数据库B:B的属性,与A的连接字段,(连接组装,如A的ID)
数据库C:C的属性,与B的连接字段,(连接组装,如B的ID,注意并不
         需要A的连接字段)

数据存取类的存取:
存(即备份对象):对A:A的属性存入数据库。将A中的B数据库TABLE
                       更改--如果有需要的话,注意,A中无需
                       负责B里面的C的数据库的更改,这是对象B
                       要处理的事情。
                  对B:B的属性存入数据库,将B中的C数据库TABLE
                       更改--如果有需要的话。
                  对C:C的属性存入数据库。
取(即对象恢复):对A:从数据库A中读取各字段,从数据库B的TABLE
                       中SELECT属于本对象的B集
                          SELECT  * FROM B WHERE ID=本A对象的ID
                       注意,A中无需负责B里面的C的数据库的恢复,
                       这是对象B要处理的事情。
                  对B:从数据库B中读取各字段,从数据库C的TABLE
                       中SELECT属于本对象的C集
                          SELECT  * FROM C WHERE ID=本B对象的ID
                  对C:从数据库B中读取各字段。



--
※ 修改:.leeyg 于 Oct 23 15:56:50 修改本文.[FROM: 202.104.35.40]
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.35.40]

[关闭][返回]