2011-02-02 12 views
1

我正在設計Java Web應用程序框架。 該框架應用了典型的3層作爲架構,演示/業務/集成。哪一層適合放置發送郵件的功能?

一般來說,我認爲業務層的定義是「業務登錄不依賴於持久化過程的具體實現」而整合層是「持久化過程的具體實現」。

在這裏,我想知道哪個圖層適合放置函數發送郵件。 我認爲業務層不應該直接訪問系統外部,因此發送郵件應該放在集成層中,儘管它不能訪問數據庫或任何持久性。 由於這個原因,讀取配置文件的功能也是一樣的。

我想決定考慮各種意見的規則,所以請告訴我你的意見和理由。

P.S.這裏「發送郵件」並不意味着像發送,撰寫郵件,選擇目的地的過程。我認爲這是業務層的責任。這裏「發送郵件」只是指發送程序本身。

回答

1

我在business-layer,它包含完整的邏輯來創建適當的消息,獲取適當的接收器,並最終使用一個服務發送郵件,封裝邏輯到發送者,消息和接收器並返回狀態。後新增加的問題


編輯

郵件模塊應該是商業服務,它應該在服務層。可重用的服務層。如果你有一個包含多個應用程序的大型項目,他們都可以使用服務層的這個郵件模塊發送郵件。

因此,用您的語言來說,郵寄過程是business layer的子系統,應該重複使用。

+0

您認爲,整合層的使命是什麼? @blob認爲,這是爲了與外部系統**進行通信。據它看來,發送程序本身似乎應該屬於整合層。 – kuma 2011-02-03 00:11:38

1

在我看來,業務層應該決定,構建郵件消息並通知集成層發送郵件(與外部系統通信)。實際郵件應該由整合層發送

+0

謝謝,這非常有說服力。 – kuma 2011-02-03 00:18:04