Encapsulation
Object Integrity
- immutable identity (be careful with lexicalized objects)
- obeys its behavior specification (e.g., no arbitrary state change)
Interface Specification
- implicit or explicit declaration of services
- tradeoffs for query processing
Implementation Independence
- separates specification from implementation
- view one way, but implement in another (more efficient) way
- overriding and late binding for polymorphic variations
We should observe these principles even if not language supported.