― 壊れにくく、読みやすく、進化に強い設計へ ―
「このクラス、なんでこんなに複雑なんだろう?」「少しの修正のはずが、全体が壊れた……」 そんな経験、あなたにもあるのではないでしょうか。
実務の現場では、コードを書く以上に“設計”が問われます。機能追加に強く、修正時にも安心できるコード。そんな理想に近づくには、原則と改善手法を理解することが欠かせません。
この記事では、Javaエンジニアが設計力を鍛え直すための2本柱「SOLID原則」と「リファクタリング」に焦点を当てます。なぜそれが重要なのか、そしてどう活かすのか。設計に対する“迷い”を減らし、確信を持ってコードを書けるようになるヒントが詰まっています。
続きを読む
重要度:★★☆☆☆
本記事ではGoFのデザインパターンのプログラムの振る舞いに関するパターンの一つである「Visitor」パターンを解説します。このパターンを一言で説明するならば、「データ構造とそのデータに対する処理を分割し、Visitorオブジェクトに処理を追加することで、データ構造に変更を加えることなく処理アルゴリズムの追加ができる方法」と言えるでしょう。「Visitor」パターンをサンプルを踏まえて解説します。
続きを読む
重要度:★★★★★
本記事ではGoFのデザインパターンのプログラムの振る舞いに関するパターンの一つである「Strategy」パターンを解説します。このパターンを一言で説明するならば、「処理方法(戦略)をオブジェクトとして分離し、実行時に自由に切り替えられるパターン」と言えるでしょう。「Strategy」パターンをサンプルを踏まえて解説します。
続きを読む
重要度:★★☆☆☆
本記事ではGoFのデザインパターンのプログラムの振る舞いに関するパターンの一つである「Memento」パターンを解説します。このパターンを一言で説明するならば、「オブジェクトのスナップショットを作成し、それを復元できるようにするパターン」と言えるでしょう。「Memento」パターンをサンプルを踏まえて解説します。
続きを読む
重要度:★★★★☆
本記事ではGoFのデザインパターンのプログラムの振る舞いに関するパターンの一つである「Chain of Responsibility」パターンを解説します。このパターンを一言で説明するならば、「複数のオブジェクトに自身のオブジェクト持つことで、鎖のように連結されたオブジェクトを渡り歩くことで、目的のオブジェクトを参照する方法」と言えるでしょう。「Chain of Responsibility」パターンをサンプルを踏まえて解説します。
続きを読む