有三个类:
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与TData,是关联还是依赖呢?
TParser与TXML, 是关联还是依赖呢?
问题补充
这个是依赖,不是关联。
关联是对象之间的逻辑关系(n:m),依赖是一种实现关系,在代码实现中使用到了该对象(属性,参数,临时变量等、)
对象之间的关联关系,必然导致实现中的依赖关系。
这要看你是否还是想部分解析XML
我遇到的项目不需要所以我用了简单的设计
解析一次就把xml&parser扔了。
不过第一次设计方案
data里含有一个xml
parser不存在
更正:对象之间的关联关系,通常会导致实现中的依赖关系。
关联是对象建模时的逻辑关系,如学生和课程的关系(学生A选择了5门课程,课程计算机原理有35个学生选修),依赖是设计和实现时代码模块(如类TParser)之间的关系,通常,类A依赖类B,是指实现类A需要用到类B,此例中,为实现TParser,使用到了类TData和类TXML。对象建模时如果对象间有关联,并且设计和实现中需要维护关联关系,则通常会导致类之间的依赖关系。
class Student
{
private List studyCourses;
}
class Course
{
private List students;
}
这段代码,类student和类course各自维护了他们的关联关系,设计和实现上类student和类course相互依赖,强耦合。
你也可以设计一个关联类如StudentCouse来维护他们之间的关联关系
class Student { }
class Course { }
class StudentCourse
{
private Dictionary studentCourses;
}
从而去除类student和course之间的依赖。但类StudentCourse则和Student和Course有依赖关系。