2012-06-15 52 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