0

に六角形のアーキテクチャを適用したいuserManagement boundedContext。したがって、2 つのポートを定義します (1 つは統合用UI、もう 1 つはserviceBus統合用、別のサービスからのイベントをリッスンするため)。

問題は、異なるテクノロジWCFOwinを使用して (基本的には操作が存在するインターフェイスであると呼ばれるべきかどうかはわかりません)に実装adaptersするかどうかです。それらをコンソール アプリに追加するにはどうすればよいですか?UI portUI portCreateNewUser, BlockUser, CheckIfUserExists

WCFSoap adapterを使用して実装し、 Owinを使用して残りたいとしましょう。多くの例で、駆動アダプターごとに別々のコンソール アプリケーションを作成していることがわかります。私が実現したいのは、1 つのホスト アプリと、何らかの形でアダプターを接続する機能です。あなたのアイデアを共有してください!MyDDD.UserManagement.Api.Rest.HostMyDDD.UserManagement.Api.Soap.Host

4

1 に答える 1

2

したがって、2 つのポート (UI 用、serviceBus 統合用、別のサービスからのイベントをリッスンするため) を定義したいと考えています。

ポートの概念を誤解しています。UI とサービス バスの統合と呼ばれるものはアダプターです。ポート用の 2 つのアダプターです。ポートを使用します。それらは、ポートによって提供される操作を呼び出します。ポートはテクノロジーにとらわれず、配信メカニズムから独立しています。ポートは、アプリケーションのユース ケースを提供する単なるインターフェイスです。

UIポート(UIポートと呼ぶべきかどうかはわかりません。基本的には、CreateNewUser、BlockUser、CheckIfUserExists操作が存在するインターフェースです)

ポートには、目的に応じた名前を付ける必要があります。操作がユーザーを管理するためのものであれば、「userManagement」と呼ぶべきです。または、BC にそのような名前が付けられている場合は、ポートを単に「api」と呼びます (ただし、意味のある名前を好みます)。

アダプターを実装したい場合はどうすればコンソール アプリに追加できますか?

ここであなたは間違っていると思います。コンソールが CLI を意味する場合、コンソールはポート用の別のアダプターです。アダプターを追加しません。

異なるテクノロジ WCF と Owin を使用して UI ポート用のアダプターを実装したい場合。それらをコンソール アプリに追加するにはどうすればよいですか?

私のやり方を教えてください。アダプターは、名前を付けて (カスタム注釈を付けて) 自分自身を宣言します。メインコンポーネントは、システム全体をブートストラップするときにアダプターをスキャンし、名前を確認して各ポートに必要なものを選択します。

私が実現したいのは、1 つのホスト アプリと、何らかの形でアダプターを接続する機能です。

私はこのようにしています:私はマルチモジュールプロジェクトを持っています。六角形は 1 つのモジュールであり、すべてのアダプターは別のモジュールです。すべてをまとめてビルドし、必要なアダプターを実行する「main」という名前の別のモジュールがあります。たとえば、ポートごとに必要なアダプタをプロパティ ファイルに入れることができます。それが私のやり方です。

于 2018-06-01T07:00:21.367 に答える