1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ちょっとずつ読むドメイン駆動設計 第ニ部 モデル駆動設計の構成要素 第五章 ソフトウェアで表現されたモデル11(モデリングパラダイム)

Posted at

モデリングパラダイム

こんなトピックがあったのかと、改めて読んでみました。

基本は、広く使われてもいるオブジェクト指向設計でのモデリング。

ここまで広まった理由はシンプルかつ洗練されているから。ドメイン駆動設計では、技術寄りでないメンバーも参加する。

チームにいる技術よりでないメンバが、少なくともパラダイムの初歩を把握することができなければ、モデルを理解することもできず、ユビキタス言語が失われることになる。(第ニ部 第五章 より)

さらに、インフラストラクチャのツールサポートも充実している。開発者も見つけやすい。

他のパラダイムとの混合

プロジェクトにおいて、支配的なモデルパラダイムが何であれ、ドメインの中には、他のパラダイムならばはるかに容易に表現できる場所が必ずあるものだ。(第ニ部 第五章 より)

こういうときに、例えばルールエンジンやワークフローエンジンなんかは統合しやすいと言っています(使ったことはないですが・・・

ルールエンジンを使用する場合、こういったルールとオブジェクトをシームレスにつなぐ環境が必要になります。最も効果的なツールはユビキタス言語。モデル駆動設計に忠実であることがコツになりそうですね。

RDB

このパラダイムは特殊。なぜならオブジェクトそのものを構成するデータの、永続ストレージとして機能するからです。
6章のレポジトリで詳しく解説されると思います。

RDBのパラダイムはオブジェクト指向のパラダイムとは別のパラダイムとして(当然)上げられています。
ゆえに、オブジェクト指向のパラダイムで作られたドメインのモデルとRDBのテーブル設計・モデルは別物であるということですね。

RDBのテーブルとモデルを関連付ける、RailsのActiveRecordはモデル駆動設計をするのには向いてないフレームワークといえるかもしれません。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?