Orchard 以外のアプリケーションでは、パターンは、ドメイン/ビジネス ロジック ライブラリ、Web アプリケーション プロジェクト、Web サービス プロジェクトなどによって参照されるプロジェクト内のデータ モデル (およびデータ アクセス コード) を分離することです。
Orchard のアイデアは、他のモジュールのデータ モデルとの関係を意図せずに、データ モデルを 1 つのモジュールだけに制限しているように見えます。
「制限」は、おそらく少し厳しいか、不正確です。おそらく、「制限」は、ここでの言葉遣いとしてより適切な選択です。2 つのモジュール A と B が与えられ、モジュール A の作業中にモジュール B への参照を追加し、そこからエンティティのリポジトリを使用できます。しかし、モジュール B に取り組んでいて、モジュール A からのデータにアクセスする必要が生じた場合、少なくともフレームワーク内でエレガントにアクセスすることはできません。循環参照の問題はここにあります。
この状況では、私はいくつかのアプローチに傾倒しています:
- 2 つのモジュールを 1 つに統合します (そして、潜在的に面倒で危険なデータ移行に対処する必要があります)。
- フレームワークやリポジトリを使用せずに直接データにアクセスする手段に頼る
- 他のすべてのカスタム モジュールによって参照される単一のモジュールにすべてのデータ モデルを配置します (ここでも、データ移行のリスクが高くなります)。
- ここで手を挙げて…
モジュールとデータ関係に対する Orchard ソフトウェア設計者の意図を正しく解釈しているものはありますか?