我正在寻找一种使库可替换的方法。例如:我有一个通过多播管理通信的库。我在我的主应用程序中使用该库。我的想法是为此使用一个界面:
public interface MessageHandler {
public void sendMessage();
public Message receiveMessage();
}
现在应该可以更改库了。例如,通过广播管理通信的库。两者都实现了相同的接口。
所以在我的主要应用程序中,我希望有机会:
MessageHandler mHandler = new MulticastImpl();
或者
MessageHandler mHandler = new BroadcastImpl();
我的问题是:我在哪里放置接口定义?当我将它放入我的主应用程序时,我无法从库中看到它(因为库不知道主应用程序)。当我将它放入两个库时,我有两个不同的 MessageHandler 接口(例如 com.multicast.MessageHandler 和 com.broadcast.MessageHandler)
有任何想法吗?