Я думаю, вы думаете об этом немного сложно. Я объясню.
То, что обычно называют «оболочкой», должно содержать все ваши элементы управления навигацией. Например, если бы я хотел пользовательский интерфейс с вкладками, моя оболочка содержала бы элемент управления вкладками (обычно вы бы украсили этот TabControl с помощью RegionName, например «ShellTabs»).
Ваши модули будут предоставлять представления к этим элементам оболочки. Допустим, у вас есть модуль электронной почты, он добавит представление входящих сообщений в вашу коллекцию вкладок. Он может добавить эти представления, зарегистрировав их в RegionManager для приложения (например, зарегистрировать ваше представление в Region под названием «ShellTabs»).
Модули не должны вносить ничего визуального. У меня есть один модуль в нашем приложении, который заботится о ведении журнала и других фоновых процессах.
Надеюсь, это прояснит некоторые из номенклатуры и поможет вам понять, какова ответственность каждой части.