Usage of multiple modules?

Hi all   This is not a use case specific question but I have read that people may use more than 1 module in their app and I don’t necessarily know what the reasoning behind this is. I was hoping someone could explain it to me. Is there a big benefit from it? Can’t you just put everything into the original module (picture)?     Thanks
1 answers

Hi Lenny,

In theory you can model your whole app in a single module. Though I would not advise that for multiple reasons

  1. Maintainability 
    When you would add all in a single module your domain model explodes and insight in usage and purpose is quickly lost. By splitting it in separated modules you get modularity in your model.  
  2. Modularity 
    This modularity should reflect the main functions in the app; i.e. Schedule of courses; maintaining the masterdata of your courses; account management; sending an email; etc…
  3. Reusability
    proper modularity leads to reusability of functions across multiple application. For example the marketplace has a lot of modules for a specific function you can use out of the box. But this isn’t limited to the marketplace. You can develop your own module for a specific function which can be shared internally across the company.
    When a module has a specific function, you can also set specific access
  4. Security
    This specific access leads to better security. As you can grant certain roles access to the module by assigning a module role. opposite is true as well; not assigning a module role to a user role > no access to the whole module = no access to the function.


Above is a quick overview of the main reasons. these reasons have a lot more to it. but worth more than a forum answer.