我对设计模式还很陌生。当开发人员使用库(在我的情况下是使用库来屏蔽HTML)并且不希望客户端/调用类“卡在”该库中时,最佳模式是什么?

例如,如果我在名为HtmlPage的库中使用一个类,并且客户端说'getPage()'-我不想从库中返回HtmlPage对象,但可以返回某种HtmlPage的包装器如果我决定更改库。这样简单吗?还是我错过了什么?我是否必须对库中的每个对象执行此操作?

public class HtmlPageWrapper {
    private HtmlPage htmlPage;

    public HtmlPageWrapper(HtmlPage) {}

    public getTableOnPage() {
        return htmlPage.getTableOnPage;
    }

    // etc...

}


谢谢!

最佳答案

我认为您对Adapter Pattern感兴趣。这样,您可以通过创建一个Adapter类来公开应用程序将使用的抽象操作,从而使这些第三方类远离您的代码。

您不必一定要对库中的每个对象执行此操作,只需确保包装了需要与之交互的主要对象即可。

关于java - 封装库特定对象的最佳设计模式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9232993/

10-13 21:27