- The larger problem is decomposed into abstract things that make sense for the problem domain.
- Each abstract thing is described by what operations the things of that abstraction can eventually do.
- Concrete things are then bound, somehow, to the abstractions; mechanisms for doing that vary.
- The rest of the application uses the things not by what they are but by what they do in the abstract.
13.2 A Program in this Style
1 #!/usr/bin/env python
2 import abc, sys, re, operator, string
5 # The abstract things
7 class IDataStorage (object):
8 """ Models the contents of the file """
9 __metaclass__ ...