ここでは、Flyweightパターン構造図である。ここではFlyweightパターン:UnsharedConcreteFlyweight
あなたはGoFのは説明UnsharedConcreteFlyweightを参照してください。
UnsharedConcreteFlyweight: ないすべてのフライ級サブクラスが共有する必要があります。 Flyweight インターフェイスで共有が可能です。それを強制するものではありません。 UnsharedConcreteFlyweightオブジェクトは、 とColumnクラスが持つように、フライウェイトオブジェクト構造のあるレベルの 子としてConcreteFlyweightオブジェクトを持つのが一般的です。ここで
限り、私は理解してOperation
は、引数としてin extrinsicState
がかかりますが、それは限り、それはメンバーデータとしてallState
を持っているとして、すべてでそれを使用することはありません。
良いデザインですか?使用しない引数を取るには、使用する場合はデータの重複があります。これはLiskov Substitution Principle違反でもありますか?
私はすべてのユースケースのすべてのSOLID原則に適合するパターンを見つけることはほとんどありません。ではない?ここでは「利便性」が重要な役割を果たしています。私たちが厳しい仕事をしっかりと守って厳しい仕事をしても、それに続く幸福ではなく、ほとんどすべてを達成すれば、間違いなく意味をなさない。 :)) –