关于代码相关性的一点理解
2009-10-25
通常在程序设计中,为了提高代码的重用,都尽量要减少代码之间的相关性。按照关联的强弱程度,可以分为以下几种:
1、 硬关联
如果A与B之间有关联,且B与A之间有强关联,那么A与B之间就存在这硬关联。如:
// B.h
#include “A.h”
class B
{
A m_A;
};
// A.h
class B;
class A
{
B fun();
};
2、 强关联
如果A.h必须包含B.h才能编译成功,就认为A与B之间存在着强关联。如:
// B.h
#include “A.h”
class B
{
A m_A;
};
3、 弱关联
如果A.cpp中必须包含B.h才能编译成功,那么A与B之间就存在着弱关联。如:
// 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的指针或引用,那么A与B之间就存在着软关联。如:
// A.h
Class B;
Class A
{
A( B * pB);
};
在程序设计中,我们经常在上边示例中的程序的选择上具足无措。其实,这里边存在着这些细微的区别,看过这些定义之后,我们要优先选择关联性低的代码实现。这样不仅能加快编译速度,更能提高代码可重用性。