oop - 用于 A 类和 C 类的 UML 关系,其中 C 类是 B 类的成员,A 类取决于 B 类
问题描述
这是一个代码示例。
class C;
/* B is a container of class C */
class B
{
public:
size_t size() const;
C const& operator[](size_t index) const {
return elements[index];
}
std::vector <C> elements;
}
class D
{
public:
D(C const& c);
}
/* A is a container of class D */
class A
{
public:
A(B const& b) {
// TO construct Class D instance, A needs to pass reference to class C
// to class D's constructor.
for (int i = 0; i < b.size(); ++i) {
elements.emplace_back(b[i]);
}
}
std::vector <D> elements;
}
这里,
作文 D
B 成分 C
A 依赖 B
依赖 C
在 A 和 C 之间使用哪种 UML 关系?
从 A 到 C 是单向关联吗?
解决方案
这就是您所说的(由于我的 Cxx 知识有限,因此对您的代码不太确定):
正如你可以清楚地看到的,A 也依赖于 C,因为它是 B 的成员。但是你不需要用依赖来表达它,因为它很明显。
注意:根据@Ister A
的评论不直接依赖,C
因为它不使用它。UML 图显示了这一点。这种依赖只是间接的,因为(可能)B
需要C
正常工作。这就是为什么第一手C
放在里面的原因。B
但是在这里绘制依赖关系A
是C
错误的。
推荐阅读
- c# - 如何将数据库中的所有数据导入datagridview?
- powershell - 使用 PowerShell 更改日期格式,重新启动后格式重置?
- javascript - 在悬停时显示选项卡式内容
- python - 如何使用 Tensorflow 2.0 生成自定义 mini-batches,例如论文“In defence of the triplet loss”中的那些?
- string - 如何将配置文件(行)转换为 Ansible 中的字典列表
- python - selenium - 无法在“文档”上执行“评估”:字符串不是有效的 XPath 表达式
- mysql - SQL - 提取列中的特定数字模式
- node.js - 如何使用苹果支付和谷歌支付集成配置条带
- razor-pages - 如何预先选择 DropDownListFor 项目?
- python - 在 Python 中调用多个函数的优雅方式