感想:
・そもそも、使い方があいまい。#call ? #run ? #perform?
・複数のクラスを操作する場合は、Facardになるの?
・外部APIの操作もServiceObjectでいいの?
・インターフェースの記述ルールが定まらない。
ServiceObject(サービス層)についての説明:
https://techracho.bpsinc.jp/hachi8833/2017_10_16/46482
https://qiita.com/joooee0000/items/369fd4676cd9dfb1f6eb
https://techracho.bpsinc.jp/hachi8833/2017_12_07/48363
次の一歩
ブログ記事などを漁るなかで、こちらで紹介されている ActiveInteraction を使ってみることにしました。
○ 使ってみてよかった点:
・Gemの使い方として、ファイル構成やインターフェースが定義されていて、迷いがない。
・Validationも使える。さらに、多言語化をしやすい。
・Facard としても、Formとしても使えるし、外部API操作も実装しやすい。
・#run か #run! で戻り値が変わるので、それに応じた使い分けが必要。
・インターフェースの記述を覚える必要がある。