1

私が読んでいる1つの普遍的なデータモデルの著者は、彼の経験では、すべてのエンタープライズシステムの50%が締約国、作業の取り組みなどに対処する必要が「普遍」であると主張しています。そのビジネスの業界内で普遍的なものであり、バランスは特定のビジネス(コークス・ペプシ)にとってユニークです。普遍的なデータモデルとドメインモデルの実装

ファウラーが90年代半ばにそうして以来、私はこれをベースにしたコードを認識しておらず、ドメインの視点から実際にパターンを見ている人はいないと思います。

DDDオリエンテーションを持つ人は、普遍的なデータモデルの有用性に関して意見をベースにした経験がありますか?

あなたは文字通りPersonとOrganizationに限定されたPartyのサブタイプを持っていますか?他の誰もがRolesにありますか?もしそうなら、どうやって実装しますか?

好きな実装ガイドラインやオープンソースシステムはありますか?

乾杯、
Berrylユニバーサルパターンの書籍やFowlers分析パターンで提示

答えて

1

あなたは文字通りPersonに限定されたPartyのサブタイプと、 組織の他の誰もが役割を果たしていますか?もしそうなら、どうすれば を実装しますか?

最小限の実装では、this SO answerを参照してください。

短編小説は、それが個人と組織の両方で満たすことができる役割であれば、スーパータイプを参照する特定の役割(最良の単語ではないかもしれない)がスーパータイプを参照するということです。 "顧客"はおそらく良い例です。

特定のロールは、人によってのみ記入できる場合、個人サブタイプを参照します。 「スタッフ」または「従業員」は良い例かもしれません。

また、特定の役割が組織によってのみ満たされている場合は、組織のサブタイプを参照します。 「雇用者」または「元従業員」が良い例かもしれません。

(すべてではないこれらの例は、リンクされた答えであるが、私はPostgreSQLのソースコードは、あなたがする必要があるかもしれないものを把握することがかなり容易になりますね。)

+0

はい、それは私が探しているものですが、実装の詳細で悪魔を見つけています。デコレータパターンで「遊んでいる」が、私の好きなものよりも動く部分が増えています。短い間にその答えを見てみましょう。乾杯 – Berryl

2

データとドメインモデルは、彼らがモデルの構造の詳細及び一般概要を提供するのに有用です。私はより具体的なドメインモデルを作成する際に参照として使用し、通常は書籍に記載されているモデルの一部のみを使用します。

ファウラーの本の説明責任パターンに関しては、当事者は、特定の当事者が複数の役割を果たす可能性があるという点で役割とは異なるものです。だから私には、党は人か組織のどちらかであることが理にかなっています。 .NETフレームワークの例は、IIdentityIPrincipalのインターフェイスです。 IIdentityはパーティを表し、IPrincipalはアイデンティティと一連のロールの組み合わせです。

+0

+1パーティー&役割を分離します。これは、非常にシンプルで強力なテクニックで、さまざまな状況に適用できます。 – sfinnie

+0

@sfinnie。私はパーティーとロールを概念的に分離していると思っていましたし、理想的にはC#で実績のある実装を探していました。あなたが特に好きなものは何ですか? – Berryl

+0

@eererfx。あなたが頻繁に使用する傾向のあるParty&Roleの実装は何ですか?歓声 – Berryl

関連する問題