2011-02-02 1 views
1

私はJava Webアプリケーションフレームワークを設計しています。 フレームワークは、アーキテクチャー、プレゼンテーション/ビジネス/統合の典型的な3つのレイヤーとして適用されます。メールを送信する機能を配置するのに適切なレイヤーはどれですか?

一般的に、私はビジネス層の定義が「持続性プロセスの具体的な実装に依存しないビジネスログイン」であり、統合層は「持続性プロセスの具体的な実装」と考えています。

ここでは、メールを送信する機能を配置するのに適切なレイヤーが不思議です。 私は通常、ビジネスレイヤーはシステムの外部に直接アクセスすべきではないと考えています。そのため、DBや永続性にはアクセスしませんが、メールは統合レイヤーに配置する必要があります。 そのため、設定ファイルの読み込みなどの機能も同じです。

さまざまな意見を踏まえてルールを決めたいと思っていますので、理由をご説明ください。

P.S.ここで「メールを送信する」とは、送信を希望する、メッセージを作成する、宛先を選択するなどのプロセスを意味するものではありません。ビジネス層の義務だと思う。ここで「メール送信」とは、送信手順そのものを意味します。

答えて

1

私はbusiness-layerにそれを持っています、それは適切なメッセージを作成するための完全なロジックを含み、適切なレシーバをフェッチし、最終的に、送信者、メッセージ、レシーバを取ってステータスを返すロジックをカプセル化するサービスを使います。質問に新たに追加した後


編集

郵送モジュールはビジネスサービスである必要があります。サービス層にある必要があります。再利用可能なサービス層。複数のアプリを持つ大規模なプロジェクトをお持ちの場合、サービス層からのこのメーリングモジュールを使用してメールを送信することができます。

あなたの言語で言えば、郵送プロセスはbusiness layerのサブシステムであり、再利用する必要があります。

+0

あなたの意見では、統合レイヤーの使命は何ですか? @blobの意見では、外部システム**と通信することです。それによると、送信手順自体が統合層に属しているように見えます。 – kuma

1

私の意見では、ビジネス層はメールメッセージを作成し、電子メールを送信するために統合レイヤに通知する必要があります(外部システムと通信する)。実際のメールは統合レイヤーで送信する必要があります

+0

ありがとう、それは非常に説得力があります。 – kuma

関連する問題