Как правильно подходить к программе, структурированной с «внешним контролем»?

Рассмотрим программу, по сути, такую:

Структурная диаграмма

Классы A, B и C логически сочетаются в отношениях родитель / потомок и никогда не раскрывают свои личные свойства. Программа будет иметь смысл (и будет компилироваться и запускаться) только с этими тремя компонентами. Однако для того, чтобы программа была особенно полезной, пользователь должен иметь возможность изменять все свойства во время работы программы, следовательно, объект «control», который может быть, например, Windows Form. Элемент управления следует рассматривать как своего рода фантом: он должен иметь возможность изменять свойства, но в отношении остальной части программы его не существует. Проблема в том, что я не знаю, как это сделать, не изменив фундаментальную структуру основной программы (по сути, сделав все свойства открытыми).

Так что мой вопрос действительно на общем уровне программирования: есть ли название для такой структуры, и если да, то как это достигается? Если нет, то есть ли лучший подход к тому, что я пытаюсь сделать?

Редактировать: Поскольку решение может зависеть от языка, предположим, что базовая программа полностью кроссплатформенная c ++, а элемент управления представляет собой некоторый тип GUI, запрограммированный для любой конкретной платформы.

0

Решение

Я думаю, что вы ищете Шаблон публикации-подписки

В большинстве случаев ваши свойства должны быть закрытыми, и при необходимости вы должны предоставлять методы получения / установки.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]