問題タブ [flyweight-pattern]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Flyweight に適したデータ構造
雲を生成するプログラムに flyweight パターンを適用しようとしています。雲の本質的な状態を表すクラスがあります。雲のタイプは、その属性によって定義されます。
これらの特性を引数として取り、存在する場合は対応する CloudType のインスタンスを返す CloudType ファクトリを作成したいと思います。存在しない場合は、事前に作成して保存します。
問題:
どのコンテナを使用するか、したがってアーキテクチャ自体について疑問があります。HashSet を使用することもできますが、検索の複雑さは CloudType の属性の数に比例するため、正しくないようです。私がオンラインで読んだ例では、作成者は CloudType の名前をキーとして HashMap を使用しています。