3 ms·
You start with MVC, following "the fat-model, skinny controller" rule of thumb. Now the Models become obese. So you split out the Repository logic. Now you ne
by cies 3y ago
You start with MVC, following "the fat-model, skinny controller" rule of thumb.
Now the Models become obese. So you split out the Repository logic.
Now you need a place to do "client onboarding" which creates a Customer, a User, a BillingInfo, a bunch of things to show the new client a non-empty environment... Where does this live? In the Customer model? Nah. In a repository? Certainly not.
No. That's when the OnboardingService comes along.
note: We use jOOQ so our "Model entities" are generated from the db schema and thus logic-less.