Rails - delegateはなぜ必要なのか
delegateの基本的な使い方
基本的な使い方は公式ドキュメントか、日本語の場合はググればいっぱい出てきます。
https://api.rubyonrails.org/classes/Module.html#method-i-delegate
なぜ必要か?
オブジェクト指向の「デメテルの法則」(最小知識の原則)に反している書き方を正すため。
Wikipediaの「オブジェクト指向における適用」に理由が記載されている。
デメテルの法則 - Wikipedia
もっと深く知りたい場合は書籍
StackOverflowを漁ったところ、詳細に知りたい場合は「Practical Object-Oriented Design in Ruby」のChapter 4を読めばいいよ!と提案されていた。
日本語版出ている「オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方」
https://www.amazon.co.jp/dp/477418361X/ref=sr_1_1?s=books&ie=UTF8&qid=1541035982&sr=1-1