前回は、IOP(Inside-Out Principle)を説明し、ソフトウェアの設計を、 システム全体をレイアウトする「場」(アーキテクチャ)を作り、 そこに安定性の順序に従って抽象を切り出していく作業。 と再定義しました。アーキテクチャを安定性の順序、すなわちInside-Outで設 計する。まずモデルから、最後にユーザーインターフェイスを設計するという のが設計活動の大きな指針です。 今回は、後半の「抽象を切り出していく作業」についての原則を紹介します。 ここで、抽象(Abstraction)というのは概念とマッピングできるモジュールのこ とです。オブジェクト指向設計では、抽象をモジュール(ソフトウェア分割の 単位)と直接マッピングできるのが大きな利点なのです。 すなわち、「クラス」がこの抽象であり、かつモジュールの役割を果たします。 SRPは、どのようにシステムをクラス分割(発見、