An object-oriented C++ graphics
framework by Walt Davis
"Project butterfly was my first experience with object-oriented programming. Using C++ I explored the constructs of object oriented analysis/design and built a reusable framework for computer aided graphics. From this experience I learned that broad shallow inheritance hierarchies are much better than narrow deep ones. I learned the importance of sub-typing (interfaces) over sub-classing. I learned the power of object based (the use of aggregation and encapsulation) vs. other object oriented programming techniques; perhaps better thought of as component based."
Copyleft © 1995 Walt Davis