Reputation: 164
I have been working with MVC frameworks (PHP) for a while now, and I believe I understand the notion of layers separation pretty well.
For whoever is not there yet I'm talking about:
Recently I came across a few projects that extend this concept by using other layers and extending the model one. These layers use classes such as services, repositories, transformers, value objects, data mappers, etc.
I also understand the essential idea of DDD but, I'd like to know what this type of architecture mentioned above is called, if these additional layers are connected with DDD and/or any design patterns and if you guys can share some resources (blog post, books, videos, etc) where to learn this stuff from whit the other users of this community.
for reference, I found tereško's aswer on this question which is something very similar to what I am looking for.
Many thanks
Upvotes: 0
Views: 223
Reputation: 10215
These layers use classes such as services, repositories, transformers, value objects, data mappers, etc.
It's hard to ascribe those to any specific architecture. For example Value objects are aka Data Transfer Objects (DTOs), aka Plain Old CLR/Java Objects (POCO/POJO's) are commonly found in .Net / Java based OO solutions.
More fundamentally, as you might already know, logical Layers ('...are merely a way of organizing your code.'*) are a fundamental concept in software architecture, so you'll find them all over the place, and not specific to any one architecture.
share some resources (blog post, books, videos, etc)
In terms of architectures, architectural styles that use layers, and into which the concepts you list would fit:
A lot of the key concepts in both of these are actually very similar.
The general ideas behind both of these are very similar. You'll find other architectures out there, I'm sure, but how much they substantively differ is another question.
I'll make this a community wiki so others can add any resources they know of.
Upvotes: 1