© Jennifer M. Kohnke
“’Tis some visitor,” I muttered, “tapping at my chamber door;
Only this and nothing more.”
—Edgar Allen Poe, The Raven
You need to add a new method to a hierarchy of classes, but the act of adding it will be painful or damaging to the design. This is a common problem. For example, suppose that you have a hierarchy of
Modem objects. The base class has the generic methods common to all modems. The derivatives represent the drivers for many different modem manufacturers and types. Suppose also that you have a requirement to add a new method, named
configureForUnix, to the hierarchy. This method will configure the ...