如何在 UML 中显示地图? C++
How do I show map in UML? C++
我有一个“数据库”class,它有一个模板“myMap”,用于存储“客户端”class 的实例。 “myMap”由节点组成(“节点”class 的实例)。我如何在 UML 中显示它?
template<typename KEY, typename VALUE> class myMap;
template <typename KEY, typename VALUE>
class Node
{
private:
friend class myMap<KEY, VALUE>;
KEY id;
VALUE object;
Node* parent;
Node* left;
Node* right;
};
template<typename KEY, typename VALUE>
class myMap
{
Node<KEY, VALUE>* root;
////
};
class Client
{
int id;
};
class Database
{
myMap<int, Client> clients;
};
类型 K
和类型 V
之间的映射,在 C++ 中用 std::map<K,V>
表示,通常在 UML 中使用 association with a qualifier 建模,限定符是类型 :K
并且关联的另一端是 V
.
类型
限定符与位于关联第一端的源类型 T
结合使用。在 C++ 中,这意味着映射将是 T
的成员。在您的情况下,它将是 Database
.
我有一个“数据库”class,它有一个模板“myMap”,用于存储“客户端”class 的实例。 “myMap”由节点组成(“节点”class 的实例)。我如何在 UML 中显示它?
template<typename KEY, typename VALUE> class myMap;
template <typename KEY, typename VALUE>
class Node
{
private:
friend class myMap<KEY, VALUE>;
KEY id;
VALUE object;
Node* parent;
Node* left;
Node* right;
};
template<typename KEY, typename VALUE>
class myMap
{
Node<KEY, VALUE>* root;
////
};
class Client
{
int id;
};
class Database
{
myMap<int, Client> clients;
};
类型 K
和类型 V
之间的映射,在 C++ 中用 std::map<K,V>
表示,通常在 UML 中使用 association with a qualifier 建模,限定符是类型 :K
并且关联的另一端是 V
.
限定符与位于关联第一端的源类型 T
结合使用。在 C++ 中,这意味着映射将是 T
的成员。在您的情况下,它将是 Database
.