🔥 Still think Hexagonal Architecture is about drawing hexagons or organizing folders? It’s not. It’s about protecting your app's core from chaos: frameworks, databases, UI trends.
Interesting post. Thanks! I'm finding it difficult to grasp the difference with just SOLID, particularly the D. Isn't it the same concept? If I make every method receive an interface instead of a concrete class, isn't the goal achieved?
All architectures follow software development principles, so what you mention about the D (in SOLID) is partially true, but only partially. As the beginning of the article states:
“Architecture is about the important stuff… whatever that is.”
— Ralph Johnson, quoted in Fundamentals of Software Architecture
If you keep that in mind, you’ll realize that most architectures typically rely on software design principles, while also adding concepts that help you interpret and reason about that architecture.
For example: the concept of driving and driven ports, the idea of the application layer, and other mental models , these go far beyond what SOLID alone can offer (or even aims to).
I don’t know if this helps, but personally, the best reference for me is DDD (Domain-Driven Design), along with its tactical and strategic patterns.
Interesting post. Thanks! I'm finding it difficult to grasp the difference with just SOLID, particularly the D. Isn't it the same concept? If I make every method receive an interface instead of a concrete class, isn't the goal achieved?
All architectures follow software development principles, so what you mention about the D (in SOLID) is partially true, but only partially. As the beginning of the article states:
“Architecture is about the important stuff… whatever that is.”
— Ralph Johnson, quoted in Fundamentals of Software Architecture
If you keep that in mind, you’ll realize that most architectures typically rely on software design principles, while also adding concepts that help you interpret and reason about that architecture.
For example: the concept of driving and driven ports, the idea of the application layer, and other mental models , these go far beyond what SOLID alone can offer (or even aims to).
I don’t know if this helps, but personally, the best reference for me is DDD (Domain-Driven Design), along with its tactical and strategic patterns.