This is a great and detailed article, but IMO it (or better: HA) completely misses the point. The challenge is not in separating technical from domain code. It is in how to draw boundaries in the domain to support the evolution of the system. HA is an implementation detail.
Hexagonal Architecture With Spring Boot arhohuttunen.com/hexagonal-a…
4
1
23
I only skimmed article but I think its unhelpful to dismiss everything other correctly defining (sub)domain boundaries as unimportant. IMHO there's a hierarchy of decisions that need to be made correctly: service boundaries .... service architecture = HA, .... method naming....
1
1
That‘s not what I said, though. 🤷‍♂️
1
Describing it as "an implementation detail" sounds like it's unimportant.
2
1
Ah, I see. They are important. They’re just not something you shape your project layout around, especially not if doing so subverts your ability to isolate parts of your domain from each other. And yes, I don’t think any of the HA, Onion, Clean et al. things are „architectures“.
1
Hmm... I think there are different levels of architecture. For example, It's been a while but I've often talked about a microservices-based application having two layers of architecture: The first is a service architecture: services, their responsibilities, collaborations, etc
2
2
That sounds like the micro / macro architecture distinction I’ve first heard about from @stilkov. I think HA et al. don‘t even qualify as the latter as they basically define which conceptual layer interfaces belong in and are easily exchangeable amongst each other.
1
1
We use “domain architecture” to refer to the discussion about how to separate responsibilities among the highest level of systems/services, macro to talk about their integration, micro if it’s about their internal implementation

May 16, 2023 · 7:37 PM UTC

1
1
5
Replying to @stilkov @odrotbohm
The @stilkov bounded context for software architecture :-)
1