我是一名 Java 初学者,如果有人能解释如何在 Java 中实现 Martin Fowler 的插件模式,我将不胜感激。
提前致谢。
最佳答案
简单地说,您为想要执行的操作定义一个接口(interface),并在运行时传递一个实现该接口(interface)的对象。例如,您可能通过本地共享内存和远程 TCP/IP 进行通信。您构建一个接口(interface),将其命名为具有 send()
和 recv()
的 IConnection
,然后在两个类 中实现它LocalConnection
和 LongDistanceConnection
。
然后您还有一些其他需要通信的类,例如 TelephoneCall
。
要调用本地电话,您需要这样做
TelephoneCall call = new TelephoneCall(new LocalConnection());
要调用长途电话,您需要这样做
TelephoneCall call = new TelephoneCall(new LongDistanceConnection());
构造函数的签名是
public TelephoneCall(IConnection connect);
关于Java插件模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/791896/