Java插件模式

2 java plugin-pattern

我是Java初学者,如果有人在这里可以解释如何在Java中实现Martin Fowler的插件模式,我将不胜感激.

提前致谢.

Cha*_*tin 10

简单地说,您可以为要执行的操作定义接口,并在运行时传递实现该接口的对象.因此,例如,您可能通过本地共享内存和远程TCP/IP进行通信.为您打造一个接口,调用它IConnectionsend()recv(),然后在两个类实现它,LocalConnectionLongDistanceConnection.

然后你可以说其他一些需要沟通的课程TelephoneCall.

要拨打本地电话,你可以

TelephoneCall call = new TelephoneCall(new LocalConnection());
Run Code Online (Sandbox Code Playgroud)

要做长途电话,你可以

TelephoneCall call = new TelephoneCall(new LongDistanceConnection());
Run Code Online (Sandbox Code Playgroud)

并且构造函数的签名是

 public TelephoneCall(IConnection connect);
Run Code Online (Sandbox Code Playgroud)