Rails is not your application! Don’t overcomplicate your development life by trying to make everything fit within its MVC structure. A framework provides tools and abstractions, use them to build your business logic, don’t force your business logic to fit into them.
As web applications grow in scale and complexity, people start realizing that many parts of their domain-specific code do not fit neatly into Rails’ MVC structure. In recent years certain patterns around so-called “service objects” emerged, and this talk will explore various types, as well as some heuristics on when to use them. Additionally it will try to shed some light on how Rails actually fits into the picture and how it’s best used in a way that complements your business logic without influencing it.
This talk is best suited for intermediate Rails developers who want to improve their application design by following new emerging best practices in the Rails community (i.e. various types of service objects, like query objects, form objects, presenters/decorators, policy objects etc). Novice Rails developers should also be able to benefit from this talk, though it’s not recommend for absolute newcomers.
- Ruby developer since 2003
- Full-time Rails developer since 2010
- CTO of Lockstep Labs starting April 2017
- Mentor on RubyLearning.org from 2009 - 2012
- Technical reviewer of “Ruby and MongoDB Web Development Beginners Guide” by Gautam Rege
- Number 15 all time top Ruby user on StackOverflow
- Top 0.40% overall on StackOverflow (SO profile)