tusbasaのブログ

業務や勉強中に調べたことを自分用にメモするブログ

serviceクラスについて

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

参考

qiita.com

techracho.bpsinc.jp