Я не буду описывать детали проекта или структуру, которую я использую, потому что вопрос более общий.
Каков наилучший способ создания гибкого взаимодействия между пользовательским интерфейсом и логикой.
Я изо всех сил, потому что постоянно оказывается, что я должен сделать доступной для пользователя какую-то функцию, чтобы она изменялась через некоторый пользовательский интерфейс, но код этой функции где-то глубоко в коде, поэтому мне приходится много реорганизовывать.
Как вы подходите в такой ситуации? Может быть, для моделирования системы, основанной на событиях, где события отправляются / обрабатываются? В моем случае требования меняются очень часто.