Data-Driven Design vs. Responsibility-Driven Design

Data-Driven Design と Responsibility-Driven Designの比較。最初の文章中の

behaviour is concentrated in controller objects that resemble main routines; this makes systems much harder to maintain due to the amount of knowledge that these controllers store about other objects;

が興味深い。データ駆動の設計が手続き的な構造を生みやすいというのは自分の経験とも一致する。また、最後の論文の中の、

There are currently four main approaches to object-oriented development: data-driven, process-driven, event-driven, and responsibility-driven.
[snip]
Data-driven methods include those that evolved from abstract data-type analysis and design as practiced by the Ada and Modula-2 communities.

は、OOA/OOD方法論の違いはその出自に起因するということを意味している。この四つのアプローチについては、もう少し調べてみたい。