DDD Micro vs Service vs Data-Centric vs Hexagon?

Familiar with 2 recent articles with Habr.

What, when and why to use? What else is there? Please book on the subject?

https://www.packtpub.com/mapt/book/application_dev...
June 8th 19 at 16:52
1 answer
June 8th 19 at 16:54
Solution
These concepts are not opposed to each other. It's just different approaches, which also can be used in conjunction.

DDD is an approach to highlight the business logic(the business model) in the application and different kinds of patterns around this.
Respectively usually used to deal with complexity application with complex business logic.
The main books of this "blue book" and "red book", as well as the material on Habre, and here

Micro Services is a very General pattern, the essence of separation logic to the less related parts. For a General understanding enough for articles on Habre, then the specific implementation is often very different.

Data-Centric is even more General concept. Usually understood under this scenario approach, a bias towards procedural programming, manipulation of objects as containers of data objects (DAO). The advantage is usually ease-of-use approach in small and medium projects.

Hexagon - approach to building layered architecture is often called a "ports and adapters". Often used in the implementation of microservices. The point is that the outer layer was the border of interfaces and adapters that transformerait protocols entry in the old compatible with the internal interface. Articles on Habre should be enough.

Find more questions by tags Designing softwareService-oriented architecture