2009-10-26 46 views
2

我有一個簡單的應用程序與後端連接的用戶界面,從中獲取數據。現在,在開發過程中,我不想連接到後端,因爲它減慢了我的速度。所以,我有一些本地存儲的數據,我'嘲笑'連接返回本地存儲的數據,而不是進行服務器調用。現在,這不是寫測試用例(因此,我沒有看到嘲笑框架是否出現在圖片中),而只是能夠在開發過程中在本地和遠程連接之間切換。使用模擬連接的設計

有很多方法可以做到這一點,我想:

  • 獲得(或通過依賴注入) 從 工廠的連接和設置,返回 本地連接
  • 維護標誌 屬性文件,其中我設置 'local = true'或類似的 返回本地連接。

有沒有其他方法可以達到這個目的?

+0

查看http://stackoverflow.com/questions/1621137/properties-for-dev-and-production的想法 – skaffman 2009-10-26 11:34:57

回答

1

不要過分複雜的事情。顯然需要返回不同的實現 - 所以使用工廠。然後工廠需要知道要創建哪個實現。你可以使用一個屬性,甚至可以使用靜態布爾變量。

1

有兩個部分的問題:

  1. 從哪裏應用得到它的連接?廠?管理DI的聰明註釋? ...
  2. 如何連接的源確定使用哪一個,模擬,或可能的幾個不同的變種直播(產品,ST,開發等)

對於前者有大量的討論關於DI技術在別處。我喜歡那些也很容易啓用單元測試的方法 - 我發現DI在這方面很有用。

至於可能使用的任何屬性/配置,取決於您擁有的環境類型。你不會說你是一個獨立的Java應用程序還是在JEE環境中運行的東西。如果後者使用JNDI資源可能會有用。

0

當我偶爾需要使用例如本地數據庫,而不是網絡上的生產數據庫編輯我

/etc/hosts

使生產數據庫reolves我自己的本地主機的名稱。快速和骯髒。

0

你看過依賴注入框架嗎?

我已經使用Google Guice來處理這個確切的問題。