Modular Architecture - DevOli/Marvel-chars GitHub Wiki

Modular architecture

An architecture pattern design for large scale projects. Unlike homogenous systems, Modular architecture proposes to separate functionality in modules to increase the maintainability of complex systems.

Advantages

  • Modules simplify building, running, testing and packaging our code

  • Each module is able to work independently

  • In the implementation, modules can work as a black box where we only care about their inputs, outputs or transfer characteristics

  • Security increases since dependencies between modules are not strong

  • Reusability

Disadvantages

  • Performance reduced

  • Excessive modularization leads to a fractured system

Project folder structure

Monolithic Architecture structure

Monolithic architecture structure

Modular Architecture structure

Modular architecture structure

More information

https://www.youtube.com/watch?v=DuK4dKH0zOA&t=482s

https://santoshbotre01.medium.com/modular-project-structure-with-swift-package-manager-spm-c81fb62c8619