問題タブ [hexagonal-architecture]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hexagonal-architecture - Hexagonal アーキテクチャにおけるデータベース リポジトリの依存関係
nTier アーキテクチャを六角形のアーキテクチャに移行しています。現在、私のドメインは明確に定義されており、すべてのインフラストラクチャの依存関係に対するインターフェイスがあります。データベース リポジトリを見ると、複数のデータベースがあり、インフラ側に各リポジトリを実装する 1 つのクラスがあります。私の質問は、DB の依存関係に関する正しいアプローチとは何かについてです。
1- ドメイン側にデータ アクセスを処理する 1 つのインターフェイスを用意し、インフラストラクチャの実装に依存して、すべてのリポジトリの実装が呼び出される場所から、ファサードのように、すべてのデータベース リポジトリのエントリ ポイントとして 1 つのクラスを用意します。このアプローチは、nTier アプリケーションで既に使用しているものと同じです。ファサードとリポジトリは現在のデータベース レイヤーです。
2-ドメイン側で必要な各データベースのインターフェースを用意します。各インターフェイスは、対応する DB にアクセスするためにインフラ側に実装されます。レイヤーを薄く保ちますが、このアプローチはデータ管理ロジックをドメインに追加します。ドメインはデータの場所を気にする必要はなく、インフラがこれを処理する必要があります。一部のデータを別のデータベースに移動する場合、対応するインターフェースをドメイン側で変更する必要があります (たとえば、このデータを公開するメソッドを別のインターフェースに移動するため)。
お知らせ下さい、
architecture - 六角形アーキテクチャでアダプタを動的にロードする最良の方法は?
に六角形のアーキテクチャを適用したいuserManagement
boundedContext
。したがって、2 つのポートを定義します (1 つは統合用UI
、もう 1 つはserviceBus
統合用、別のサービスからのイベントをリッスンするため)。
問題は、異なるテクノロジWCFとOwinを使用して (基本的には操作が存在するインターフェイスであると呼ばれるべきかどうかはわかりません)に実装adapters
するかどうかです。それらをコンソール アプリに追加するにはどうすればよいですか?UI port
UI port
CreateNewUser, BlockUser, CheckIfUserExists
WCFSoap adapter
を使用して実装し、 Owinを使用して残りたいとしましょう。多くの例で、駆動アダプターごとに別々のコンソール アプリケーションを作成していることがわかります。私が実現したいのは、1 つのホスト アプリと、何らかの形でアダプターを接続する機能です。あなたのアイデアを共有してください!MyDDD.UserManagement.Api.Rest.Host
MyDDD.UserManagement.Api.Soap.Host