私は、簡単な答えがあると確信している、および/または以前に解決された設計上の問題を扱っています。私はかなり長い間、読んで、考えて、解決策を探してきましたが、本当に意味のあることは何もないようです。
問題の要点は、私が一連のレガシーシステムとデータベースを扱っており、新しいアプリを構築して古いアプリを置き換えるためにDDDアプローチを採用しようとしていることです。主要な問題は、ドメインエンティティ、値オブジェクト、および集計はビジネス上意味がありますが、永続性を考慮すると、1つの大きな問題があります...集計内のエンティティは現在複数のデータベースに永続化されています。
たとえば、エンティティA、B、およびCがあり、Aが集約ルートであるとします。私はAのリポジトリを持っており、永続性のためにNHibernateセッションの周りで作業ユニットを使用しています。A、B、およびCがすべて単一のサーバー/データベースに永続化されている限り、すべてが素晴らしく問題ありません。ただし、私の場合、AとBは1つのサーバー/データベース上にあり、Cは完全に異なるサーバー/データベース上に永続化されている可能性があります。
私は、従来の知識がこれを決して行うべきではないことを示唆しているかもしれないことを理解していますが、私は遺産を扱っています。確かに、そのうちにデータ層をより論理的なものにリファクタリングする可能性がありますが、今のところ行き詰まっています。私はいつもある程度この問題を抱えているのではないかと思いますし、他の人がこの橋を渡ったと思わざるを得ません。
要するに、私はC#で、永続性のためのFluent / NHibernate、IoCのためのUnityで構成され、標準の(または少なくとも認識可能な)リポジトリと作業単位のパターンを採用する自家製のフレームワークを持っています。データベースに関しては、MSSQLServerとOracleを扱っています。
何かご意見は?