アプリケーションの設計で「サービスクラス」というものがしばしば使われますが、その「サービスクラス」が何を指しているのか、状況によって違ったりしないでしょうか? この記事では、そんな「サービスクラス」についての私の理解を、3 種類に分けて整理していきます。 その中で、「サービスクラス」がアンチパターンと言われる理由なども書いていきます。 結論 - 3 種類の「サービスクラス」 最初に結論として、3 種類のサービスクラスについて書いておきます。 「トランザクションスクリプトパターン」における「サービス」 「ドメインモデルパターン」における「アプリケーションサービス (= ユースケース)」 「ドメインモデルパターン」における「ドメインサービス」 の 3 つです。 ここから、この 3 パターンを整理するための前提からまとめていきます。 前提 - 「ビジネスロジック」について アプリケーションを 3