ivanpaulovich / hexagonal-architecture-acerola

An Hexagonal Architecture service template with DDD, CQRS, TDD and SOLID using .NET Core 2.0. All small features are testable and could be mocked. Adapters could be mocked or exchanged.
http://paulovich.net/acerola/
Apache License 2.0
458 stars 98 forks source link

Where is domain logic in your domain? #12

Closed vimmerru closed 2 years ago

vimmerru commented 2 years ago

I can't find any domain logic or scenarios in Domain. No any driven or driving adapters in Domain. Are use sure it is hexagonal at all?

ivanpaulovich commented 2 years ago

Hey @vimmerru,

That's a good question. Thanks!

Hexagonal Architecture Style have the following pillars:

  1. Usage of Ports and Adapters Pattern (In this project you will find Interfaces (Ports) and its implementations (Adapters)).
  2. Follows the Dependency Inversion Principle (the D from SOLID).
  3. Guided by Test-Driven Development (Tests outside-in preferable).

The DDD part as the tactical patterns are not really Hexagonal Architecture Style but can still find it. In case you want to know a bit more I shared some slides here in my speakerdeck.

https://speakerdeck.com/ivanpaulovich/clean-architecture?slide=10

Have a nice week ahead!

vimmerru commented 2 years ago

@ivanpaulovich Thanks. Seems i missed you put all ports, adapters and logic to Application project. I think you are right here. I just expected a bit different terminology. You can close the ticket.