定义:将抽象和实现解耦,使得两者可以独立地变化。
示例一:桥梁模式(通用版)
1. 类图 29-4
2. 类图说明
- Abstraction 抽象化角色。主要职责是定义出该角色的行为,同时保存一个对实现化角色的引用,该角色一般是抽象类。
- Implementor 实现化角色。它是接口或抽象类,定义角色必须的行为和属性。
- RefinedAbstraction 修正抽象化角色。它引用实例化角色对抽象化角色进行修正。
- ConcreteImplementor 具体实现化角色。它实现接口或抽象类定义的方法和属性。
3. 代码清单
#include <QCoreApplication>
#include <QDebug>
//实现化角色
class Implementor
{
public:
virtual void doSomething() = 0;
virtual void doAnything() = 0;
};
//具体实现化角色
class Implementor1:public Implementor
{
public:
virtual void doSomething()
{