I will try to answer your questions by just focusing on each of the numbers, so you can get a clear picture:
As the Shell and View technical concept
article explains, there is no specific need to have a single Shell. The Composite Application Guidance looks to ease the process of creating Composite Applications for WPF & Silverlight, so depending on your needs you can “take what you want from
There is not a particular way for performing user authentication in Prism. I would recommend you to create a service for this task. Based on this authentication service you can update your UI in the way you find
best suiting. Different modules can consume this service to add regions and views accordingly.
You can create / remove regions and views dynamically to get a similar behavior. Regions are added as attached properties of UI controls (such as
TabControls, ContentControls, etc), so whether they are moved or not will not modify their behavior. The following threads explain how to
dynamically create regions and how to
dynamically remove regions.
I do not know you particular scenario, but modules, services and views placed in regions (even if they are not shown) and will remain in memory. Therefore there is no need to create them each time you need
to use them. Services, usually singletons, will most likely be placed in the container of your application (for example
Unity) so they will remain "in memory" for the lifetime of the application.
You can get more information about regions and views from these articles from the Prism-v2 documentation:
Container and Services
How to: Add a Region
Please let me know if this helps.