skip to main content
Skip header Section
Putting metaclasses to work: a new dimension in object-oriented programmingJanuary 1999
Publisher:
  • Addison Wesley Longman Publishing Co., Inc.
  • 350 Bridge Pkwy suite 208 Redwood City, CA
  • United States
ISBN:978-0-201-43305-0
Published:01 January 1999
Pages:
300
Skip Bibliometrics Section
Bibliometrics
Contributors
  • International Business Machines
  • Microelectronics Computer Technology Corporation

Recommendations

Reviews

Allan James Payne

Forman and Danforth present a new, mathematically formal approach to programming for class definitions, which I believe will contribute to better programming. The book is divided into a glossary, 12 chapters, four appendices, and a bibliography. Most chapters contain summaries and problems. Chapter 1 describes the motivation for the book and sets out an informal analogy to language development. In chapter 2, the concept of reflective classes is introduced as a basis of all objects and groupings. The third chapter reviews the semantic concepts of object models and the properties and actions that can be performed on the objects, classes, and metaclasses. The model is mapped onto programming languages, using C++ as an example, in chapters 4 and 5. Chapter 6 presents the methodology used in the metaclass concepts to develop new metaclasses with reusable properties. In chapter 7, the cooperative class concept is developed based on methods presented earlier. The eighth chapter uses before/after metaclasses as a further example of the method. Chapter 9 demonstrates proxy metaclasses as another example of the method. In chapter 10, the method is applied to developing frameworks. The eleventh chapter shows how metaclasses can resolve release-to-release binary compatibility problems. Chapter 12, the conclusion, lists the book's contributions to programming technology. The appendices consist of further extensions and examples of the concept. Appendix A describes advanced linearization, which is used for ancestry and implementation ordering. Appendix B shows how the method can be used to handle apply and redispatch stubs. Appendix C gives the rationale for the drawing conventions that were adopted in the book. Appendix D deals with a number of examples, which were given as end-of-chapter problems. This book is a presentation of a theory, but if it makes readers think more about the base processes they use in program development, it will have done its job well.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.