DDDがストンと腑に落ちた1つのキーワード

公開日:2019-07-06
最終更新:2019-07-07

私がDDD がどんな物なのか、ストンと腑に落ちた1つのキーワードとそれを紹介してくれたブログの記事を紹介したいと思います。

それは「不変条件」というキーワードです。

不変条件: モデルが有効である期間中、常に一貫している必要のある状態のこと  

little hands' lab ブログの「モデルでドメイン知識を表現するとは何か」の記事で言及されています。また、この記事では不変条件が記述されていないドメイン欠乏症のモデルをリファクタリング(体質改善)して、ドメインモデルに改善していくコードの例が載っています。とてもわかりやすいです。

不変条件については、もちろんDDDのバイブル本にも書かれていますが、ページ数が多すぎてその説明の重要性が埋没しているように思います。

「ドメインモデルってさ、モデル内に不変条件を記述することなんだよね。うん、そんだけ」と言い切った little hands' lab の記事は画期的だとさえ思いました。

ドメイン駆動設計はいくつもの設計や実装のベストプラクティス集です。その内の戦術的設計の多くは「不変条件」を守る為に、どの様な単位でモデルを分け、実装していくかのパターンと言えると思います。そう気づいた時、途端にDDDに対してパーッと視界が広がり理解できたような気がしました。

まあ、まだ初学者なので、これから先、DDDとはもっと奥の深いものだったんだと気づく時が来るかもしれませんが、今の私にはDDDの戦術的設計とは「不変条件を守る、その為の設計や実装のパターンなのだ」という考えがとても腑に落ちました。

参考資料

モデルでドメイン知識を表現するとは何か
ドメイン駆動設計のメリットと始め方 ~ 1章「DDDへの誘い」

DDD の構成

  • 戦略的設計
    • ドメイン、サブドメイン、境界づけられたコンテキスト
    • コンテキストマップ
  • 戦術的設計
    • アーキテクチャ
    • エンティティ
    • 値オブジェクト
    • サービス
    • ドメインイベント
    • モジュール
    • 集約
    • ファクトリ
    • レポジトリ
    • 境界づけられたコンテキストの結合
    • アプリケーション
記事が少しでもいいなと思ったらクラップを送ってみよう!
0
+1
DDDやアジャイルに挑戦する記録

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする