>>825
GoF の言うところの

 インターフェースに対してプログラミングせよ

ってやつね。あとは、オブジェクト同士の関係を深く考えることだと思うよ。ADT だと
ADT を抽出して終わりになるところが、

 実は、A は B なんじゃないの (A is-a B)
 X は A, B, C を要素に持ってるのね

とか言い出すと OO っぽい気がする。