ブックマーク / qiita.com/j5ik2o (2)

  • ドメインロジックはドメインオブジェクトに凝集させる - Qiita

    こんにちは。 最近、こんなツイートしたのですが、ドメインオブジェクトではなくアプリケーションサービス1などにドメインロジックが書かれてしまうことがあります。 アプリケーションサービスはドメインロジックを配置する場所ではない、それはドメインオブジェクトの役割。アプリケーションサービスは進行役。ここを間違うから簡単にドメインモデル貧血症になってしまうんだと思います。 — かとじゅん (@j5ik2o) August 18, 2019 最近、以下の書籍(以下 増田)をマジメに読み直しました(笑)。ドメインモデル貧血症2を回避して、ドメインロジックをドメインオブジェクトに凝集させる方法に関して、増田にいろいろ書いてあったので、そのエッセンスと僕の考察を交えて解説したいと思います3。 詳しい内容は以下の増田を読んでください! コード例はScalaですが難しい表現がないので、Scalaが分からな

    ドメインロジックはドメインオブジェクトに凝集させる - Qiita
    jonysand
    jonysand 2019/08/23
  • ドメインオブジェクトを中心としたClean Architecture のためのレイヤー構成 - Qiita

    ドメインオブジェクトを中心としたClean Architectureは、どういうレイヤー構成にするとよいか、簡単にまとめてみた。 イメージ たぶん、こんな感じになるはず。通常は円状に表現するが、わかりにくいので層状に書いてみた。 赤い部分の層は、直接依存の方向が上から下です。グレー部分の層は、契約だけが定義された独立した層で、ユースケース層やインターフェイス層から依存できるものとします。 インターフェイス(アダプタ)層 内外とのデータ形式の変換が主な役割 コントローラ、プレゼンター(内部から外部へデータ形式を変換する責務),ゲートウェイ(外部と通信する責務。DBやRPC) ユースケース層 アプリーケーション層ともいう アプリケーション固有のビジネスルールをカプセル化する ドメイン層 Clean Architectureでは、中心にはエンティティとだけ書かれているが、DDDでは中心はドメイ

    ドメインオブジェクトを中心としたClean Architecture のためのレイヤー構成 - Qiita
    jonysand
    jonysand 2018/11/08
  • 1