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

0

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

Изображение 174551

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

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

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

Теги:
paradigms

1 ответ

0

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

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

  • 0
    Тем не менее, я не хотел бы добавлять метод получения и установки для каждого свойства в программе, чтобы элемент управления мог получить к ним доступ, потому что он по-прежнему предоставляет переменные, которые в противном случае остались бы скрытыми. Я посмотрю в шаблон публикации-подписки, хотя, спасибо.
  • 0
    Как я уже сказал, выставляйте получатель / установщик только при необходимости. Однако изменение ваших свойств напрямую (без установщика) может быть опасным, поскольку вы не можете проверить изменяемые данные.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню