私はデザインパターンにかなり新しいです。開発者がライブラリ(私の場合はHTMLをスクリーンキャプチャするライブラリ)を使用していて、クライアント/呼び出しクラスがそのライブラリに「行き詰まっている」ことを望まない場合の最良のパターンは何ですか?ライブラリ固有のオブジェクトをラップするのに最適なデザインパターン?
例えば、私がHtmlPageというライブラリのクラスを使用していて、クライアントが 'getPage()'と言うと、ライブラリからHtmlPageオブジェクトを返すのではなく、HtmlPageのラッパーもし私が図書館を変更しようと思えば、私は交換することができます。これはこれほど簡単ですか?または私は何かを逃していますか?私は図書館のすべてのオブジェクトに対してこれを行う必要がありますか?
public class HtmlPageWrapper {
private HtmlPage htmlPage;
public HtmlPageWrapper(HtmlPage) {}
public getTableOnPage() {
return htmlPage.getTableOnPage;
}
// etc...
}
ありがとう!
おかげで、多分私はちょうどそれをoverthinkingよ...私はそれが使用する1つかもしれないと思ったが、私はそれだけで一緒に互換性のないクラスをブリッジするためだと思いました。 – acvcu
これはもっとも一般的な使用例ですが、将来的に別のhtmlスクリーンスクレイピングライブラリを導入するとシナリオで使用することもできます。そのライブラリのインターフェイスは現在のライブラリと互換性がなく、コードと互換性がない可能性があります。 – ggreiner