タグ

ブックマーク / blog.j5ik2o.me (2)

  • 結構大事なアグリゲートについてもう少し考えてみる - かとじゅんの技術日誌

    ちと、小難しい話になります。DDDの話なんで、 コードで学ぶドメイン駆動設計入門 〜アグリゲート編〜 - じゅんいち☆かとうの技術日誌 でも取り上げたアグリゲートに関する考察です。どうあるべきかはちょっと分かっていません。これを読んでこうしたらよいのでは?と思う方、意見歓迎です。インターネットって一方だと面白くないので議論したいですね。 アグリゲートってライフサイクルの境界を扱うための設計パターンです。ライフサイクルで思い出すのはリポジトリとファクトリ。この二つのオブジェクトが扱うのがアグリゲートです。ライフサイクルは至るところに出てくるので、結構大事で、設計の根幹に影響するオブジェクトのひとつではないかと思います。 アグリゲートは、内部のエンティティやバリューオブジェクトを集約している境界で、その境界はエンティティであり、ルートエンティティと呼ばれる。 グローバルな同一性を持つエンティテ

    結構大事なアグリゲートについてもう少し考えてみる - かとじゅんの技術日誌
  • 副作用を最小限に抑えるために必要なこと - かとじゅんの技術日誌

    若干、難しい話ですが、設計力を上げたいプログラマ向けなエントリ。私も道半ばです。一緒に考えていただければ幸いです。 堅牢なアプリケーションを実現する上で「副作用を最小限に抑える」という設計思想は、非常に重要な示唆を含んでいます。 その「副作用」とは、そもそもどんな定義なのでしょうか。 DDDでは"side effect"と定義していて、以下のように解説されています。 Domain-Driven Design: Tackling Complexity in the Heart of Software: Evans, Eric: 8601300201665: Amazon.com: Books エリック・エヴァンスのドメイン駆動設計 作者:Eric Evans翔泳社Amazon P250より引用 In standard English, the term side effect implies

    副作用を最小限に抑えるために必要なこと - かとじゅんの技術日誌
  • 1