-
Notifications
You must be signed in to change notification settings - Fork 20
Implement application work flow #24
Comments
The architecture I had in mind, discussed with some of our core developers (mainly by voice call), and am currently implementing in my ranolfi/skeleton branch is the last one from your list: classic DDD with repository/service. |
I don't know if this is decided yet, but wanted to chime in about CQRS/UseCases: The term "UseCases" in that form comes from Clean Architecture, where it makes sense in context of the rest of the architecture. But in essence, CQRS's "commands" and "queries" are just both called "use cases". However, I would advice against Mediatr (and automapper, actually). We use that combination at work and are now trying to get rid of them again. Which is work, but it's the work that we should just have done in the first place. The problem is, like they say in Python, "explicit is better than implicit". |
It was decided to do repositories/services back in nov/dec. I checked with Marc. Also I agree 100% on the Automapper. |
@raphaelschmitz00 and I actually had a call (via Discord) where we discussed a little bit about these different design approaches :) @DoctaJonez provided some good perspectives too, and there were more discussions in some of our channels, prob. #backend or #tech-lead-comms. For reference to anyone who lands here in the future - as I suggested in our last conversation over Discord (@misha130), the concern regarding the CQRS approach when applied to the rest of the architecture is somewhat of an excessive or "unwarranted" abstraction. I mean, by introducing additional indirection to data access logic, it deviates further from the KISS principle for little benefit in this particular scenario, so we go with the "simpler"¹ approach. I agree with what has been said about AutoMapper, generally. (1): so to speak. |
Browsing issues here, getting my environment set up, I can't advocate enough for the classic architecture. It's the easiest to walk in to; the new school and specialized stuff is a barrier to contribution. |
This tasks refers to how in this project data should be queried from.
This flow should be universal and used for all the queries.
It can be:
Some examples https://lostechies.com/jimmybogard/2015/05/05/cqrs-with-mediatr-and-automapper/
Feel free to add.
(I realize there is no forum thread about this but I feel its too technical to post on the forum)
The text was updated successfully, but these errors were encountered: