Prototype DP と Flyweight DP のいくつかの違いを見つける必要があります。基本的な違いは、前者がディープ コピーを作成することです。一方、文字は共有オブジェクトになります。私の講師は、もっと違いがあると言いました。
誰か他の人を知っていますか?
Prototype DP と Flyweight DP のいくつかの違いを見つける必要があります。基本的な違いは、前者がディープ コピーを作成することです。一方、文字は共有オブジェクトになります。私の講師は、もっと違いがあると言いました。
誰か他の人を知っていますか?
まず第一に、それらは異なるカテゴリーに属しています: プロトタイプは創造的なものであり、フライウェイトは構造的なものです.
プロトタイプ オブジェクトの作成では、クローンを作成することにより、オブジェクトの作成が容易になります。複製をリクエストすることで、毎回新しい複製オブジェクトを作成します。
Flyweight では、リクエストを作成して共有することで、できるだけ多くのオブジェクトを再利用しようとします。そのようなオブジェクトが見つからない場合は、新しい必要なオブジェクトが作成されます。リソースの最適化のために行われています。
Prototype ではオブジェクトを 1 つでも複製できますが、Flyweight パターンは、アプリケーションで多数のオブジェクトを使用する場合に使用するのが理にかなっています。
説明されているすべては、実装側にも影響します。
Flyweight では、オブジェクトは不変です。
プロトタイプでは、オブジェクトは変更可能です。
Flyweight とは、新しいオブジェクトを作成せず、可能な場合は既存のオブジェクトを再利用することでメモリを節約することです。
プロトタイプとは、新しいオブジェクトを作成するコストを節約するために、既存のオブジェクトを再利用することです。
Flyweight は、複数のタイプの単一オブジェクトを作成するときに使用されます。
プロトタイプは、単一のオブジェクトの単一のタイプを作成するときに使用されます。