2017-05-02 1 views
1

私はthis articleを読んで、ウェブフォームアプリケーションからウサギのmqメッセージをプッシュします。WebフォームのRabbitmq:Webフォームのcsharpファイル自体からメッセージをプッシュするのは正しいのですか、それともビジネスロジックですか?

ウェブフォームaspx csクラスから直接オブジェクトをプッシュするのは正しいですか?つまり、producer_endMessage(...)をbutton_clickイベントから呼び出すか、これはビジネスロジックの一部でなければなりませんか?

このコードをどの層から呼び出す必要がありますか?これをどうやって決めますか?

+0

例外がスローされますか?いいえ?それは正しいです。それ以外のものは、オピニオンに基づいており、StackOverflowの範囲を超えた、推奨されるパターンです。 – Gusman

答えて

2

多層設計を行っている場合は、正しい方向に進んでいます。実装(つまり、RabbitMQ、データベース、または他のサーバーへの呼び出し)をユーザーインターフェイスコードとは完全に分離してください。それ以外の場合は、変更する必要がある場合(MSMQや他のキュー製品に切り替えるなど)、後で変更するのがずっと難しくなります。

+0

それで、producer.SendMessage(...)への呼び出しを、依存関係注入を伴うビジネスレイヤーに移動するように提案しますか? – maverick

+0

可能な限り最高です。 RabbitMQはお客様のニーズに合ったパフォーマンスを発揮できない可能性があります。最良の方法では、クライアントコードは、キューにアクセスするために使用するライブラリに直接依存するものであってはなりません。 –

関連する問題