【发布时间】:2020-06-27 05:46:01
【问题描述】:
我正在尝试使用 C++ 学习适配器设计模式 UML,并且在 youtube 的一个视频中显示了此内容 - 我的问题是将 UML 图片转换为 C++ 类/代码:
我真正感到困惑的是:
-
Clinet -------> [实线] 与接口 Target 的关联。这通常意味着什么我见过实现接口的类,例如实现 Target 的适配器类
-
内容适配器与被适配者组成在这里意味着什么 - 如果是容器,那么它是完全还是部分拥有它?
下面是我能想到的代码实现:
class Target
{
public:
void virtual ServiceA() = 0;
};
class Client : public Target
{
public:
Client(){}
void ServiceA() override {}
};
class Adaptee
{
public:
Adaptee(){}
void ServiceX(){}
};
class Adapter : public Target
{
public:
Adapter(){}
void ServiceA() override {adaptee.serviceX();}
Adaptee adaptee;
};
int main()
{
.....
}
我们将如何在 main 中编写代码?请解释一下。
【问题讨论】:
标签: c++ c++11 design-patterns uml