当前位置: 代码迷 >> Rational >> 这段代码是联系关系还是依赖呢
  详细解决方案

这段代码是联系关系还是依赖呢

热度:5607   发布时间:2013-02-26 00:00:00.0
这段代码是关联还是依赖呢?
有三个类:

TParser  接收一个XML文件作为输入,解析,输出数据结构 TData 对象
TXML      用于解析XML文件的工具类
TData     用于保存数据的数据结构


------------------------------------------

代码:

class TParser
{
public:
    TData parse(String xmlFileName)
    {
        TData result;

        TXML xml = new TXML;
        xml.load(xmlFileName);
        result.set( xml.readNext("xxx") );

        return result;
    }
};

补充说明:
TParser::parse被调用一次,就重新构造一个TXML对象,用完扔掉,
而TParser::parse也仅仅是把 TData 对象作为返回值返回,
TParser对象并不会存储 TData 对象和 TXML对象。 

--------------------------------------------

请问各位,  TParser与TData,是关联还是依赖呢?
            TParser与TXML,  是关联还是依赖呢? 


------解决方案--------------------------------------------------------
依赖吧
因为TXML仅仅出现在TParser中,是一个函数的局部变量.

也就是说,对于TParser来讲TXML只是在完成某种功能时,才需要;而不是将其作为一个组成部分.
------解决方案--------------------------------------------------------
显然是依赖
------解决方案--------------------------------------------------------
是依赖关系!
TParser要完成任务需要TData和Txml协助,是偶然而不是必然的关系,所以是依赖!
------解决方案--------------------------------------------------------
是依赖,依赖比关联弱,我看你这几个类在依赖里也算比较弱的:
1、关联的话一般至少TParser类中要有TData类型的成员属性;
2、TParser类的实例中不包含任何TData类的实例
  相关解决方案