オブジェクトには、状態と動作が必要です。ファサード パターンを実装する場合、ファサード オブジェクトには通常、状態がなく、動作のみがあります。
これは、この種のパターンに受け入れられるものですか? これは未解決の質問なので、はい/いいえの後に詳細情報を提供してください
オブジェクトには、状態と動作が必要です。ファサード パターンを実装する場合、ファサード オブジェクトには通常、状態がなく、動作のみがあります。
これは、この種のパターンに受け入れられるものですか? これは未解決の質問なので、はい/いいえの後に詳細情報を提供してください
「オブジェクトには常に状態と振る舞いがなければならない」というルールはありません。反対に、オブジェクトに状態がほとんどまたはまったくないこと ( Stateless Servicesなど) と動作がほとんどないこと ( Data Transfer Objectsなど)を推奨するパターンがいくつかあります。Facade デザイン パターンに関しては、その状態と動作について明示的に何も述べていないので、どのように実装するかはあなた次第ですが、ほとんどの場合、状態は必要ありません...
さて、答えは質問の本文にあります。ファサードはそれ自体では役に立たず、実際に状態を持つ別のオブジェクトが常に付属しています。Facade は、結合されたオブジェクト インターフェイスを拡張するだけです。はい、大丈夫です。
ファサードには、監査ログや統計生成など、独自に作業を行う必要がある場合があるため、状態が存在する場合があります。
彼らが状態を必要としないのであれば、それも完全に受け入れられます。