コンポジットパターン
エンジニアのためのWebチートシート
Composite(コンポジット)パターンとは、「容器と中身を同一視する」デザインパターンです。階層構造、ツリー構造などの再帰的なデータを扱う際に、コードの重複を排除し、拡張性が高く柔軟なコードを書くことができます。
Related Cheatsheets
- デザインパターン-デザインパターンとは、ソフトウェアを開発・設計する際に、「よく出会う問題とそれに対処する設計とを23パターンに分類したもの」です。デザインパターンを習得することで、再利用性が高く、リーダブルなコードを開発することができます。また、開発者間でのコミュニケーションにおける共通言語としても利用することができます。
- テンプレートメソッドパターン-TemplateMethod(テンプレートメソッド)パターンとは、「一部のアルゴリズムを変更する」デザインパターンです。不変なものと可変はものを分離することで、拡張性が高く、メンテナブルなコードを書くことができます。
- ストラテジーパターン-Strategy(ストラテジー)パターンとは、「アルゴリズムを交換する」デザインパターンです。戦略(Strategy)を独立したクラスで定義し、それをコンテキストに渡すことで、実行時に柔軟性を保った状態でロジックを移譲することができます。
- オブザーバーパターン-Observer(オブザーバー)パターンとは、「変更を通知する」デザインパターンです。SubjectとObserverという役割を分けることで、イベントを発生を伝えるインタフェースをきれいにすることができます。そうすることで、必要以上にクラスを結合することなく、各クラスが各々の責務となっているロジックに集中することができ、高凝集・低結合を保つことができます。
- チェーンオブレスポンシビリティパターン-Chain of Responsibility(チェーンオブレスポンシビリティ)パターンとは、「責任を連鎖させる」デザインパターンです。Clientの課題を解決する責任を持つHandlerに対して、nextのHandlerを定義して鎖状にHandlerをつなげることで、柔軟な実装を可能とするデザインパターンです。
Related Goods
WebTerm - Recommended tools
WebTermは、ブラウザでLinuxコマンド・Gitコマンドを安全に実行でき、チュートリアル式で学べるターミナルサンドボックスです。
AIコーディングツールの普及に伴い、CLIの基礎知識を身につける重要性は増しています。実際のターミナルを操作するのに抵抗がある方でも、WebTermはローカル環境を壊す心配がありません。「会員登録不要・無料」で利用でき、学習環境として最適です。

WebTerm
Browser Terminal Sandbox for Learning CLI
開く
All Cheatsheets
エンジニア・プログラマー向けの便利なチートシートを多数まとめています(SP/Tablet/PC対応)
すべてのチートシートを見る

