我是一名 Java 初学者,如果有人能解释如何在 Java 中实现 Martin Fowler 的插件模式,我将不胜感激。
提前致谢。
简单地说,您为要执行的操作定义一个接口,并在运行时传递一个实现该接口的对象。因此,例如,您可能通过本地共享内存和远程 TCP/IP 进行通信。您构建一个接口,调用它IConnection
具有send()
and recv()
,然后在两个类中实现它,LocalConnection
and LongDistanceConnection
。
然后你有一些其他需要交流的类,比方说TelephoneCall
。
要拨打本地电话,您可以
TelephoneCall call = new TelephoneCall(new LocalConnection());
要拨打长途电话,您可以
TelephoneCall call = new TelephoneCall(new LongDistanceConnection());
并且构造函数的签名是
public TelephoneCall(IConnection connect);