1

私が読んでいるユニバーサル データ モデルの著者の 1 人は、彼の経験では、すべてのエンタープライズ システムの 50% は、当事者や作業努力などに対処する必要があるという点で「ユニバーサル」であり、25% はそのビジネス業界内でユニバーサルであり、残りは特定のビジネスに固有のものである (つまり、コーラ対ペプシ)。

しかし、私はこれに基づいて構築されたコードを認識しておらず、90 年代半ばに Fowler が行ったので、データ モデリングの観点とは対照的に、ドメインの観点からパターンを実際に見ている人を思いつきません。

DDD 志向の人で、ユニバーサル データ モデルの有用性について意見に基づいた経験を持っている人はいますか?

文字通り、パーソンとオーガニゼーションに限定されたパーティのサブタイプがあり、他の全員が役割に属していますか? もしそうなら、それをどのように実装しますか?

気に入っている実装ガイドラインやオープンソース システムはありますか?

乾杯、
ベリル

4

2 に答える 2

3

Universal Patterns の書籍や Fowlers Analysis Patterns で紹介されているデータ モデルとドメイン モデルは、モデルの構造の詳細で一般化された概要を提供するという点で役立ちます。より具体的なドメイン モデルを作成する際の参考として使用し、通常は書籍に記載されているモデルの一部のみを使用します。

Fowler の著書の説明責任パターンに関する限り、特定のパーティが複数のロールを実行できるという点で、パーティはロールとは異なります。したがって、当事者が個人または組織のいずれかであるということは理にかなっています。.NET フレームワークの例は、IIdentityおよびIPrincipalインターフェイスです。IIdentity はパーティを表すことができますが、IPrincipal は ID と一連のロールの組み合わせです。

于 2011-07-27T20:50:02.873 に答える
1

文字通り、パーソンとオーガナイゼーションに限定されたパーティのサブタイプがあり、他の全員が役割に属していますか? もしそうなら、それをどのように実装しますか?

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

簡単に言うと、特定の役割 (これは適切な言葉ではないかもしれません) は、個人と組織の両方が果たすことができる役割である場合、スーパータイプを参照します。「顧客」はおそらくその良い例です。

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

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

(これらの例のすべてがリンクされた回答にあるわけではありませんが、PostgreSQL のソース コードを使用すると、何をする必要があるかを簡単に把握できると思います。)

于 2011-07-29T21:15:02.550 に答える