[Home] [By Thread] [By Date] [Recent Entries]
On 6/4/05, Michael Kay <mike@s...> wrote: > What on earth is the "shape" of an object instance? Perhaps this is the the same sense of "shape" -- http://c2.com/cgi/wiki?SoftwareHasShape 'Software has shape. A program or other coherent collection of software (e.g. a framework or a class library) is an object (lower case) that exists in a multi-dimensional space. We can view that object through any of many windows. Through one window, we see the shape of the inheritance hierarchy. Through another window, we see the object-ownership diagram. Through another window we see the time-series behavior of the system ... the sequence of object creations, deletions. Through another we see the execution profile of the program running, with big piles of execution on top of some statements, and very tiny piles on others. "Good" software has a "pleasing" shape. If software has a "good" inheritance hierarchy, the shape of the hierarchy will be pleasing ... not too broadly branched, not too tall, fairly well-balanced. If software is implemented efficiently, its execution profile will be relatively flat, with no big peaks indicating hot spots.'
|

Cart



