Flyweight パターンの構造図は次のとおりです。
ここに、GoF が説明する UnsharedConcreteFlyweight が表示されます。
UnsharedConcreteFlyweight : すべての Flyweight サブクラスを共有する必要はありません。Flyweight インターフェイスは共有を可能にします。それは強制しません。UnsharedConcreteFlyweight オブジェクトが、Flyweight オブジェクト構造のあるレベルで子として ConcreteFlyweight オブジェクトを持つことは一般的です (Row クラスと Column クラスのように)。
ここでは、私が理解している限り、引数としてOperation
取りますが、メンバーデータとしてin extrinsicState
持っている限り、まったく使用しません。allState
良いデザインですか?使用しない引数を取るには、使用する場合はデータが重複します。これは、リスコフの置換原則違反でさえありますか?