(2003-07-09) Coplien Class Vs Object
Jeffrey P Shell discusses Jim Coplien's piece on "Putting the Object back into OOD" (OOP). Hierarchy has become an important abstraction tool in many design paradigms. Used effectively, it brings organizational power. Used to shed essential complexity, it is evil. In most Object Oriented design, most abstraction is evil. It is an excuse to ignore things we don't want to deal with even though we should. (Is this Prototype Based programming?) I then introduced a simple notion of objects as loci of structure and behavior. From the outside, all we see of an object are behaviors through which we can ask it to do things on our behalf. That was a natural lead-in to Abstract Data Type-s, with a careful emphasis on the "abstract" and "type" parts of the moniker. Note that students faced ADTs quite a bit before they would encounter classes... At about the same time I introduced roles as being the analysis or design counterpart of what we had been talking about as ADTs... Next I introduced UseCase-s... Then, and only then, did I introduce CRC Card-s.
Edited: | Tweet this! | Search Twitter for discussion
No backlinks!
No twinpages!