VB6的类编程中经常遇到一个尴尬的问题

sinof 2005-11-10 02:13:03
在用VB6的类编程中,经常遇到一个尴尬的问题.

问题是这样子的:

比方说为了解决一个问题,
你设计了两各类A和B,
A和B有着各自完全独立的分工,
但是它们有一个合作的地方,
就是B分析产生的结果要为A所采用,
即B的结果信息为B和A所共享.

用过的解决办法有:

一个是可以在一个模块用public来存储这个AB都用到的信息,
但是多个这样子的分工合作就增加了各个类之间的耦合程度,
增加了整个工程的联系程度,维护起来很是不方便;

另一个是将B的功能全部拿到A的里面去,
这样就省了一个B和公共模块且增加了A的内聚程度,
但是A本身的处理事务变多而导致A的复杂度却大大提高,
在工程中对A的维护工作也是很大的.

想请问一下,
还有没有其它的方法能较好的解决这样的尴尬问题?
谢谢!
...全文
155 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
crycoming 2005-11-10
  • 打赏
  • 举报
回复
只能根据自己的经验去设计,
Global Information {
....

}
class B{
#include Global Information
function Test()
....
}

class A{
#include Global Information
dim p as new B
p.Test
.....

}




'这两个类还是比较独立的,和语言的种类没有多大关系
feiyun0112 2005-11-10
  • 打赏
  • 举报
回复
所以改成.net吧
Summer006 2005-11-10
  • 打赏
  • 举报
回复
在需要的时候临时处理如:
dim a as new cA
dim b as new cB
dim result
result=b.account()
call a.account(result)
set a=nothing
set b=nothing

可能我没有了解lz 的意思吧

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧