ChatGPTにデコレータパターンとプロキシパターンについて聞いた。
「オブジェクトのラッパーとして動作する」という点において似ている。違いは?
Decorator
オブジェクトの機能を柔軟に拡張する
もう少し具体的には、デコレータクラスのオブジェクトを生成するとき、機能を追加したい元のオブジェクトを引数にとって、内部でそいつを呼び出してそれにプラスアルファの処理をするイメージ。
Proxy
オブジェクトへのアクセスを制御・管理する
例えばDBへのアクセスで、データがキャッシュされていたらそれを返す、されていなかったらDBへアクセスしてそれを返す。
リモートオブジェクト??別のマシン、別のアドレス空間で動作しているオブジェクトのこと。
要は、デコレータは拡張、プロキシは制御に使う。