@abudabibu
Програмункул

Паттерн Мост / Bridge должен выглядеть примерно так?

Привет, нашел в интернете реализацию паттерна мост, она выглядит следующим образом, но есть вопрос правильная ли она?
class Implementor;

class Abstraction {
public:
    virtual ~Abstraction() {};
    virtual void Operation() = 0;
protected:
    Implementor* implement;
};

class RefinedAbstraction : public Abstraction {
public:
    void Operation() {
        //...код
    }
};

class Implementor {
public:
    virtual ~Implementor() {};
    virtual void OperationImp() = 0;
};

class ConcreteImplementor1 : public Implementor {
public:
    void OperationImp() {
        //...код
    }
};

class ConcreteImplementor2 {
public:
    void OperationImp() {
        //...код
    }
};
  • Вопрос задан
  • 219 просмотров
Решения вопроса 1
@tujhan
Начинающий программист
Да, примерно так, но обычно RefinedAbstraction не одна (как у вас), а несколько + можно желательно написать код в реализациях, а то не понятно, зачем два одинаковых класса, или вместо "//...код" написать "//...реализация1" и "//...реализация2" соответственно.
Может кто-нибудь поправит меня, а так идейно реализация правильная
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы