yes, yes a thousand time. cant tell how often i had to fight these fights and untangling some super duper "architectures" so that one can work with them again. we call it feature driven architectur ;-)
I like the explanation of the concept, but i really don't like the example. The ball of mud here will be the database. Each slice really should own its data. I would rather deal with coupling in code than coupling in data. So for each slice i would expect to see entities and data access handling. I also think an API would be a better upper boundary as mixing in your client will for all those who don't just work with backend developers or multiple clients will be an issue. Finally, the example is too simple, splitting by crud is not really slices, i don't think you help anyone if you have almost as many folders as you have files, and again you can't really keep their data isolated this way.
This is a CRUD architecture, you need complex modelling tools like DDD and tradeoff analysis to find the right code and team organization. However I like to start with VSA and refactor to a better organization as we scale.
Each slice owns data, too. And that doesn't necessarily mean database-per-slice, albeit it's completely OK, IMO. I'm not sure about examples coz I myself advocate and promote much the same stuff for years and it works well
I was waiting on whether you were going to mention the data access code. 👌
Brilliant one! Highly appreciate!
yes, yes a thousand time. cant tell how often i had to fight these fights and untangling some super duper "architectures" so that one can work with them again. we call it feature driven architectur ;-)
Chris Sanity should be his nickname :D
I like the explanation of the concept, but i really don't like the example. The ball of mud here will be the database. Each slice really should own its data. I would rather deal with coupling in code than coupling in data. So for each slice i would expect to see entities and data access handling.
I also think an API would be a better upper boundary as mixing in your client will for all those who don't just work with backend developers or multiple clients will be an issue.
Finally, the example is too simple, splitting by crud is not really slices, i don't think you help anyone if you have almost as many folders as you have files, and again you can't really keep their data isolated this way.
This is a CRUD architecture, you need complex modelling tools like DDD and tradeoff analysis to find the right code and team organization. However I like to start with VSA and refactor to a better organization as we scale.
Each slice owns data, too. And that doesn't necessarily mean database-per-slice, albeit it's completely OK, IMO. I'm not sure about examples coz I myself advocate and promote much the same stuff for years and it works well