
269
導
入
編
1
設
計
編
ア
キ
テ
ク
チ
ャ
編
2
3
4
5
6
7
6
オブジェクト指向設計
「設計編」で説明したオブジェクト指向設計ですが、この「アーキテク
チャ編」にも登場します。
アーキテクチャ設計のポイントは、「処理の共通化」「インターフェイスと
実装の分離」「ブラックボックス」です。気付いた方もいるかもしれません
が、これらはオブジェクト指向設計のポイントと同じです。アーキテクチャ
設計では、オブジェクト指向設計の技法を使います。
処理の共通化は、クラスの部品化やクラスの継承で実現されます。コード
の部品化はオブジェクト指向でなくても普通に行いますね。このような部品
クラスをユーティリティクラスと呼んだりします。処理の共通化とは、同じ
処理は重複して記述しないということです。詳しくは、DRY(Don’t Repeat
Yourself)として後で説明します。
インターフェイスと実装の分離は、オブジェクト指向の真髄だと思いま
す。ポリモーフィズムを使って実装の切り替えを行うには、インターフェイ
スという考え方は非常に重要です。インターフェイスとは、クラスにとって
の外部仕様です。他のクラスから呼び出す時は、その外部仕様であるイン
ターフェイスだけを知っていればメソッドを呼び出せます。デザインパター
ン(GoF)で紹介されているパターンの多くは、このインターフェイスと実
装の分離を理解していないと、本当の意味はわからないかもしれません。
アーキテクチャレベルで見た場合も、インターフェイスは重要です。イン
ターフェイスは、その役割(責務)を表現しています。アーキテクチャとし ...