#input [[🗃️デザインパターン]]の紹介。 ## 8-1 名前を持つ概念 ## [[🗃️Iteratorパターン]] - 要素を列挙する概念だけを抜き出したパターン - 配列の繰り返しも、一般化できる抽象概念として扱うのが、[[🗃️Iteratorパターン]] - [[📚8-2 多態性を設計する]] - [[📚8-4 インスタンスを生成する]] - [[📚8-5 オブジェクトで構造を作る]] - [[📚8-6 構造のオブジェクト間にあるもの]] - [[📚8-7 データモデルの構造]] - [[📚8-8 クラスか高階関数か]] - [[📚8-9 どこで生成されどこで振る舞うか]] - [[🗃️デザインパターン]]は、「べきでない」意図の表明 - 例 - [[🗃️Singletonパターン]]に状態を持たせてはいけない - [[🗃️Facadeパターン]]、[[🗃️Mediatorパターン]]に独自の知識を実装してはいけない - [[🗃️Strategyパターン]]、[[🗃️Visitorパターン]]は永続てなデータと癒着はしてはいけない - 概念的な制約が[[🗃️単一責任原則(SRP)]]を明確にする - 責務が明確で小さく安定したクラスの方が安心して再利用できる - 認識のしやすが設計の再利用性に貢献する