2

我是一名 Java 初学者,如果有人能解释如何在 Java 中实现 Martin Fowler 的插件模式,我将不胜感激。

提前致谢。

4

1 回答 1

10

简单地说,您为要执行的操作定义一个接口,并在运行时传递一个实现该接口的对象。因此,例如,您可能通过本地共享内存和远程 TCP/IP 进行通信。您构建一个接口,调用它IConnection具有send()and recv(),然后在两个类中实现它,LocalConnectionand LongDistanceConnection

然后你有一些其他需要交流的类,比方说TelephoneCall

要拨打本地电话,您可以

TelephoneCall call = new TelephoneCall(new LocalConnection());

要拨打长途电话,您可以

TelephoneCall call = new TelephoneCall(new LongDistanceConnection());

并且构造函数的签名是

 public TelephoneCall(IConnection connect);
于 2009-04-27T00:37:33.287 回答