私たちのチームの別の人が、彼の Web フレームワークの jar としてライブラリを提供してくれました。このフレームワークを「My Friend's Framework」と呼びましょう。
彼のフレームワークから必要な特定のクラスがあります。そのクラスによって公開されるプロパティの半分は、自分のアプリケーションに本当に必要なものです。残りの半分は必要ありません。このクラスのプロパティを取得するには、文字列操作を行う必要があります。このクラスの上に独自のフレームワークを開発するので、できるだけ依存関係を切り離したいと考えています。将来、私の別の友人がより良いフレームワークを開発するかもしれません。
そこで私がしたことは、そのクラスのファサード クラスを生成したことです。私自身のフレームワークは、ファサード クラスを介してプロパティにアクセスします。「My Friend's Framework」が変更された場合、1 つのファサード クラスを変更するだけで、残りは同じままです。さらに、文字列操作はファサード クラス内で行われます。また、ファサード クラスは必要なプロパティのみを公開します。したがって、私自身のフレームワークは、通常の getter/setter としてプロパティにアクセスするだけです。
しかし、私はこの男と口論をしました。彼は自分のクラスの実装を変更しないので、自分のクラスを直接使用するように強制しています。だから彼は、ファサードクラスを書くことは本当に価値がないと私に言いました。しかし、私は同意しません。
私が間違っている?私は自分が正しいと信じています。