Object Oriented Design (with Ruby)
Dependency management, dependency injection, dependency inversion, interfaces, coupling/cohesion, Demeter, and SOLID are some of the terms associated with Object Oriented Design (OOD). What do they mean, and how can we use them to improve the design of our application?
In this class we'll go over these terms as well as some of the trade offs to consider when trying to apply them during the design process. The class will be guided by the wonderful book Practical Object-Oriented Design in Ruby: An Agile Primer by Sandi Metz.
We'll have a conversation about OOD with Ruby, using some examples to show how to improve design. If you are unfamiliar or not very experienced with OOD, come learn about it; if you are experienced with OOD, come join our conversation and help fellow students (and probably the teacher), and maybe learn a thing or two yourself.
Be sure to complete the following Codewars challenge before class!
(If your RailsSchool profile includes your Codewars username, you'll get
a nifty star if you complete the challenge.)
http://www.codewars.com/kata/lambdas-as-a-mechanism-for-open-slash-closed/train/ruby