Understanding modularity
The term module is one of the most overused and overloaded concepts in the software industry. In this section, I want to explain what I mean by modularity in .NET and ABP Framework.
Modularity is a software design technique to separate a large solution's code base into smaller, isolated modules that can then be developed independently. There are two main reasons behind modular application development:
- Reducing complexity: Splitting a large code base into a smaller and isolated set of modules makes it easy to develop and maintain the solution.
- Reusability: Building a module and reusing it across multiple applications reduces code duplication and saves time.
In the next sections, I will discuss two different modularity levels from technical and design perspectives: class libraries (NuGet packages) and application modules. Let's begin with class libraries.
Class libraries and NuGet packages
Most programming languages and frameworks...