讀古今文學網 > 程序員必讀之軟件架構 > 共享組件 >

共享組件

想像你利用一個Web服務器、一個應用程序服務器和一個數據庫設計來設計一個三層的軟件系統。在思考駐留在這些容器中的高層次組件時,聽到這樣的對話並不罕見。

  • 參與者 :「既然Web服務器和應用程序服務器都在使用日誌組件,我們應該把它畫在這兩者之外嗎?」
  • 我 :「你會那樣編寫代碼嗎?日誌組件會在Web服務器和應用程序服務器之外運行嗎?比如說,它真的是一個單獨的進程嗎?」
  • 參與者 :「好吧……不是,它很可能是我們會同時部署到兩個服務器上的[JAR文件|DLL|其他]中的一個共享組件。」
  • 我 :「好,那麼讓我們也這樣畫圖。在每個服務器中都包含日誌組件,用一個註釋、定型或符號把它標為共享組件。」

如果你要實現部署到多個不同服務器的共享日誌組件之類的東西,確保你的圖反映出這一點,而不是包含一些可能被誤認為是單獨的中心化日誌服務器的東西來誤導人們。如果有疑問,問問自己你會如何編寫代碼。