use*_*534 2 java design-patterns
我有一个使用第三方(外部罐子)的应用程序,到处都有.比方说,我在某个类中有一个方法f
public int f(int x){
Y y = new Y(x);
return y.someCalculations();
}
Run Code Online (Sandbox Code Playgroud)
Y是来自第三方的班级.
说我想转移到其他第三方?或者我自己实现Y,我怎么能以这样的方式解除依赖,以便我可以毫不费力地使用我想要的任何第三方.
提前谢谢你
使用适配器模式将第三方库类包装到您要向客户端公开的接口中.
这样客户端将直接使用您正在公开的接口,而不必直接调用第三方库方法.请注意,客户端可以是您自己的应用程序或最终客户端的类.这为您提供了在第三方库更改内容时屏蔽或断开接口的方法.

Wrappers用于采用第三方库和框架 - 大多数使用第三方库的应用程序使用适配器作为应用程序和第三方库之间的中间层,以将应用程序与库分离.如果必须使用另一个库,则只需要新库的适配器,而无需更改应用程序代码.