Decomposition -- matrix

data abstraction

nil cons(h,t)
empty(l) true false
head(l) error h
tail(l) error t

Modules -- operation oriented

ADT

  • organized around observers -- representation hiding

Objects -- data oriented

OOP

  • organized around generators -- method interface

slide: Decomposition and data abstraction