I have some questions on modularization of a Prism application:
- Are there any (official) references with recommendations regarding this topic?
- What are your personal experiences? Do you have worked at some bigger or smaller projects where some strategies have been better?
- Are there any disadvantages of having too much or too few modules?
- Would you create a module for huge parts / components of the application or would you create modules for much smaller portions, like a toolwindow or the statusbar or something like that?
Thank you in advance!
I would be glad if you would comment how I can improve my question or why you vote it down.
EDIT: As an additional information: My project currently scales at > 30 Prism modules.
I have developed several applications with PRISM and there are different approaches to how split the code between modules:
Functionality: if your application can work with different features on or off every feature should be a module, therefore you would deploy the feature only if it is active.
Teams: if your application will be developed by different teams the code made by a team should be located on one or more modules. As teams wouldn't have any hard reference both can build their modules without sync'ing with the other team(s).
Modules have an impact on startup time so there should be a reason to create it, the more modules you have the slower the startup. A module should be created based on the two previous assumptions.