2012-06-15 54 views
1

我目前正在使用GPS接收器和 調制解調器來發送GPS位置到服務器的跟蹤項目。 由於今年有一個新的調制解調器可用升級固件庫。 我公司的硬件設計團隊使用新的調制解調器開發了一個新的硬件。抽象:創建來自同一來源的不同版本

我現在的問題是:如何從同一來源爲這兩種調制解調器類型構建我的應用程序?

我的意思是:在新的固件庫中,有一些類 和我不能用於舊調制解調器和舊固件庫的舊方法庫 。我使用NetBeans作爲我的IDE,因此我可以輕鬆創建不同的 螞蟻配置來構建兩種調制解調器類型的應用程序, ,但是如何在我的代碼中實現該應用程序。我的代碼中不包含 新固件庫的一部分,因爲它甚至不能編譯,我必須 以某種方式「動態」鏈接正確的固件庫。這在Java中如何完成? 此外,其生產的調制解調器,公司已經改變了他們的公司 的名字,而我導入所有的包都是現在com.new_name.bla;代替 com.old_name.bla;

而這大多是在我所有的源文件。我確信有一種方法可以在Java中解決這個問題。有沒有人可以爲這樣的問題提供一個很好的例子?

回答

2

您可以創建一個封裝2個庫的行爲的單個接口。在你的代碼中,你只能使用那個接口。您只需要編寫一些將每個庫轉換爲該接口的實現的東西。

我相信這是Bridge design pattern

+0

Thx。好的,Bridge的設計模式似乎很合適。但是進口包裹呢?你有一個好主意來概括這個嗎? – arge

+0

只有您的2個庫到接口適配器應該包含任何導入的軟件包。您的主要代碼應該只包含接口的導入。 在螞蟻中,你可以設置2個獨立的構建配置,一個使用第一個適配器,一個使用另一個。 (但我不是螞蟻專家) – DieterDP