The usual way (that I'm familiar with) to divide the server side is the n-layer architecture :
- DAL - data access layer, usually has the Entities and the context (and maybe include also a repository)
- BLL - business logic layer
- Contract - Interfaces
- Services - classes which implement the interfaces ( could be a Web API for E.G )
Of course there is also the n-tier Architecture which i don't want to discuss .
lately I've seen more and more a "Modules" architecture and i was wondering about it ( I'm not familiar with the professional term of this architecture )
Where each module is not a table in the database but a group of tables that have a shared concept .
something that looks like that :
Is there any known good architecture that separate the layers by modules on the server side? if so, what is the professional term for this kind of architecture and what are the advantages / disadvantages of each of this architectures ?