在用VB6的类编程中,经常遇到一个尴尬的问题.问题是这样子的:比方说为了解决一个问题,
你设计了两各类A和B,
A和B有着各自完全独立的分工,
但是它们有一个合作的地方,
就是B分析产生的结果要为A所采用,
即B的结果信息为B和A所共享.用过的解决办法有:一个是可以在一个模块用public来存储这个AB都用到的信息,
但是多个这样子的分工合作就增加了各个类之间的耦合程度,
增加了整个工程的联系程度,维护起来很是不方便;另一个是将B的功能全部拿到A的里面去,
这样就省了一个B和公共模块且增加了A的内聚程度,
但是A本身的处理事务变多而导致A的复杂度却大大提高,
在工程中对A的维护工作也是很大的.想请问一下,
还有没有其它的方法能较好的解决这样的尴尬问题?
谢谢!

解决方案 »

  1.   

    在需要的时候临时处理如:
    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 的意思吧
      

  2.   

    只能根据自己的经验去设计,
    Global Information {
      ....}
    class B{
      #include Global Information 
      function  Test()  
      ....
    }class A{
       #include Global Information 
       dim p as new B
       p.Test
       .....
      
    }
    '这两个类还是比较独立的,和语言的种类没有多大关系