Condense all information below.
Other great references:
- https://github.com/serodriguez68/poodr-notes
- https://medium.com/ruby-on-rails/what-i-learned-from-sandi-metz-9d0c94347b7f
>The purpose of design is to allow you to do design later, and it's primary goal is to reduce the cost of change.