2022-11-13 serviceクラスについて サービスクラスは原則1つの役割に徹するべき クラス名には動詞と目的語と「Service」を付ける 引数は出来る限りnewで渡してインスタンス化する 1つのサービスにpublicなメソッドは、原則1つにする 初期化したインスタンスはprivateのattr_readerで呼ぶ 切り分けたメソッドは全てprivateなgetterメソッドとして実装する Service Objectの呼び出し方法を1つに定める (callメソッド) コンストラクタ(initialize)をシンプルに保つ callメソッドの引数にキーワード引数を使う callメソッドをトランザクションでラップすることを検討する 参考 qiita.com techracho.bpsinc.jp