サービスとその他の層について

サービスとは

  • いつでもどこからでも呼び出せる
  • Beanとして登録しておくことでアノテーションでいつでも利用できる
  • アプリケーションで使用する業務データの参照、更新、整合性チェックおよびビジネスルールに関わる各種処理
  • 再利用されることを考慮したロジックは実装しない

※ SharedServiceクラスで再利用ロジックを実装

アプリケーション層

  • コントローラー(ルーティング処理)
    • リクエストを受け取るためのメソッドを提供
    • リクエストパラメータの入力チェック
    • 業務処理の呼び出し
    • 処理結果のModelへの反映
    • 遷移先(View名)の決定
  • ビュー
    • クライアントに応答するレスポンスデータ(HTML)を生成

ドメイン

  • Service
    • 業務ロジックを実行するためのメソッドの実装
  • Repository
    • 業務データを操作するためのメソッドの実装
    • Entityオブジェクトに対するCRUD操作
  • Entity
    • 業務データを保持するためのクラスの作成

参考

terasolunaorg.github.io