关于代码相关性的一点理解

关于代码相关性的一点理解

2009-10-25

通常在程序设计中,为了提高代码的重用,都尽量要减少代码之间的相关性。按照关联的强弱程度,可以分为以下几种:

1、 硬关联

如果AB之间有关联,且BA之间有强关联,那么AB之间就存在这硬关联。如:

// B.h

#include “A.h”

class B

{

           A   m_A;

};

 

// A.h

class B;

class A

{

           B fun();

};

 

2、 强关联

如果A.h必须包含B.h才能编译成功,就认为AB之间存在着强关联。如:

// B.h

#include “A.h”

class B

{

           A   m_A;

};

 

3、 弱关联

如果A.cpp中必须包含B.h才能编译成功,那么AB之间就存在着弱关联。如:

// B.h

Class B

{

           B();

};

 

// A.h

Class B;

Class A

{

           B  fun();

};

 

// A.cpp

#include “A.h”

#include “B.h”

B  A::fun()

{

           B b;

         Return b;

}

 

4、 软关联

如果A只使用了B的指针或引用,那么AB之间就存在着软关联。如:

// A.h

Class B;

Class A

{

           A( B * pB);

};

 

在程序设计中,我们经常在上边示例中的程序的选择上具足无措。其实,这里边存在着这些细微的区别,看过这些定义之后,我们要优先选择关联性低的代码实现。这样不仅能加快编译速度,更能提高代码可重用性。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值