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