Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: