Ruby. Объектно-ориентированное проектирование (Сэнди Метц)
- Решать, что должно входить в состав класса Ruby
- Не допускать тесной связи между объектами в тех случаях, когда требуется разграничить функциональность
- Определять гибкие интерфейсы между объектами
- Освоить утиную типизацию
- Эффективно задействовать наследование, композицию и полиморфизм
- Разрабатывать экономные тесты
- Доводить до совершенства любой legacy-код Ruby.