Structureの制約性

Structure が Behavior を制約する——ソフトウェアにおける構造と振る舞いの根本的な関係。

定義

Structure が状態空間を限定すれば、その中で起こりうる Behavior のパターンも限定される。

具体例

「出荷済み注文には支払い日時が必ず存在する」という構造的制約があれば:

逆に、この構造的制約がなければ、振る舞いの実装に分岐が必要になり、検証すべきケースが増える。

帰結

設計への示唆

コードに落とす段階では「構造を先に、振る舞いを後に」が有効。型(構造)を先に定義すると、その型に沿った振る舞いしか書けなくなり、コンパイラがガードレールとして機能する。

関連