2
- {\em object-oriented design} -- decomposition into objects
- object model -- objects suffer and require
- heuristics -- balance between nouns and verbs
- evaluation -- eliminating spurious classes
- class design -- class, responsibilities and collaborations
slide: Section 3.2: Identifying objects
3
- types -- as an organizing principle
- contracts -- obligations and benefits
- subtyping -- the substitutability requirement
- partial types -- designed to have subtypes
slide: Section 3.3: Contracts