У меня есть класс A
с некоторыми функциональными возможностями:Я использую шаблон декоратора правильно?
class A < B {
private some_data;
public start() { ... };
}
Класс B
является базовым классом для нескольких классов, таких как A
. Ничего особенного, он наследует от класса C
.
abstract class C {
abstract public start();
}
У меня есть абстрактный декоратор:
abstract class decoratorC < C {
private C;
public construct() {
self->C->start();
}
}
И конкретный декоратор:
class ConcreteDecoratorForA < decoratorC {
public start() {
parent->start();
// code here
}
}
Так что проблема: мне нужно личные свойства и такие из класса A
в раздел «код здесь» и функциональность от класса B
.
У меня есть ошибка архитектуры где-то, это может быть очевидно для нового вида. Возможно, мне нужно переделать структуру вокруг класса B
.