Erik Dreyer02/18/2022, 2:21 AM
branch for an example of how you might add a new BC in your own domain.
altavir02/18/2022, 7:43 AM
Jilles van Gurp02/18/2022, 9:27 AM
Mykola Gurov02/18/2022, 9:46 AM
Microservice arch deployed as monolithis it what's called "distributed monolith" ?
kenkyee02/18/2022, 11:39 AM
Tim Oltjenbruns02/18/2022, 2:30 PM
Erik Dreyer02/18/2022, 2:35 PM
Tim Oltjenbruns02/18/2022, 2:50 PM
One potential upside to this is that when you are actually ready to implement a real distributed system, it is fairly trivial to move each bounded context out of your monolith, and into your microserviceI see this as one of the primary benefits. Because it’s already being tested via spring, its probably more likely to move out to a microservice without issues. However, I don’t think this will actually help with the hairball part of the problem. It’s still easy to make a hairball with fully distributed services. Hexagonal and DDD help, but I’m still unclear how this project helps implement those. By nature the implementation of these are domain specific. How can something that’s not domain specific help?
Erik Dreyer02/18/2022, 3:07 PM
Hexagonal and DDD help, but I’m still unclear how this project helps implement those. By nature the implementation of these are domain specific. How can something that’s not domain specific help?Right. When you compare a system like this to a traditional 3 tiered, layered approach (controllers / services / repositories) there are much better guardrails for how you structure your business logic. For example, in the traditional approach, use cases are implicit. The logic is spread throughout a variety of Services. It’s been my experience that it can even span multiple layers. Services over time become very broad. I’ve seen Service classes that autowire in 20 or more other services, DAOs, etc. This approach doesn’t prevent this, but it provides some mechanisms/guardrails to better reason about your domain and structure it in such a way as to prevent this. More here: https://reflectoring.io/book/
Tim Oltjenbruns02/18/2022, 3:27 PM
Erik Dreyer02/18/2022, 3:38 PM
Tim Oltjenbruns02/18/2022, 3:57 PM
Erik Dreyer02/18/2022, 4:00 PM
Tim Oltjenbruns02/18/2022, 4:04 PM
kqr02/19/2022, 10:33 AM
Erik Dreyer02/19/2022, 1:30 PM
ESchouten02/20/2022, 9:16 PM