Understanding modularity
Modularity is a design technique for breaking down the functionalities of a large software into smaller parts and allowing each part to communicate with the others through standardized interfaces as needed. Modularity has the following main benefits:
- It reduces complexity when every module is designed to be isolated from the other modules, and inter-module communications are well defined and limited.
- It provides flexibility when you design modules to be loosely coupled. You can refactor or even replace a module in the future.
- It allows re-using modules across applications when you design them to be application-independent.
Most enterprise software systems are designed to be modular. However, implementing modularity is not easy, and the plain ASP.NET Core doesn't help much. One of ABP Framework's main goals is to provide infrastructure and tooling to develop truly modular systems. We will cover modular application development...