 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| |
Design
in the problem domain
|
|
|
|
|
Objects
map to concrete things/concepts
|
|
|
|
|
But,
sometimes algorithms are the problem domain
|
|
| |
Program
correctness
|
|
|
|
|
Objects
are generalizations of abstract data types
|
|
|
|
|
Program
correctness follows from static typing
|
|
|
|
|
But,
type errors are only small source of bugs
|
|
|
| |
OOP is
deep stuff
|
|