8. Why so complicated?
- Fat model
- Fat controller
- Fat view
- Too much logic!!
- Creating Work Order
- ~350 lines
- Model?
- Controller?
- Service per action
- Index Jobs
- ~ 150 lines query
- JSON presenter - ~ 350 lines
- View?
- Presenter
9. What is Presenter?
- Move logic from html/json template to some class
- Nice & clean template
- Freedom of use
- Speed
- Decorators, Presenters, JSONPresenters(?)
10. What is Service?
- Move logic from Controllers and Models
- Dynamic validations
- Creating nested models
- Complex logic
- Indexing
- Backup data
- Counting
- Notifications
- Third Party APIs
- Generators (Transaction numbers, Colors, Keys)
11. What is Query?
- Move logic from Controllers
- Dynamic queries
- Filters/Conditions
- Ordering
- Restrictions
- Calculations
- Stats (pagination, summary)
- Speed
- Loading connected data
- Loading only necessary data
- Jobs query
- 27 parts
- Pos query
- 6 base classes
- 200 lines
- 50 parts