Putting Metaclasses to Work - Ira R. Forman, Scott H. Danforth

Putting Metaclasses to Work

A New Dimension in Object-Oriented Programming
Buch | Softcover
320 Seiten
1998
Addison Wesley (Verlag)
978-0-201-43305-0 (ISBN)
45,85 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Metaclasses are a powerful, potentially complex, and somewhat controversial new development in object technology. This text illustrates the concepts, demonstrates proven application techniques, and enables programmers to put metaclasses to work.
Putting Metaclasses to Work takes a new, evolutionary look at important concepts of object-oriented programming, starting with the development of an object model from fundamental principles. Unique aspects of this object model include a use of metaclasses to encapsulate the implementation of object properties and a support for reuse of metaclasses. Metaclass reuse is based on a new semantics for inheritance that automatically combines metaclasses by using multiple inheritance to compose object properties. This book provides a concrete demonstration of how metaclasses can be used to increase productivity and reusability in object-oriented programming. A C++-based language for programming metaclasses according to the authors' model is presented and then used throughout the book, allowing the reader to understand the utility and importance of metaclasses within the overall context of object-oriented programming.In addition, this book: *Presents the theory of reflective class-based object-oriented models *Introduces a new form of inheritance called Inheritance of Metaclass Constraints *Discusses the basic metaobject protocol used to program new metaclasses that isolate reusable properties *Contains useful examples of metaclasses that can be built with metaobject protocol and cooperative metaclasses 0201433052B04062001

Ira R. Forman works for IBM in Austin, Texas. As a past member of IBM's Object Technology Products Group, he worked on the SOM Metaclass Framework. Forman's specialties are object-oriented programming, object composition, and distributed programming. Scott H. Danforth works for Secant Technologies, Inc. As a past member of IBM's Object Technology Products Group, he originated the derived metaclass and metaclass cooperation concepts discussed in this book. His professional interests include development and practical application of object-oriented technology. 0201433052AB04062001

(Chapters conclude with Exercises and a Summary.) Preface. Glossary of Symbols. 1. Introduction. A Fable. Dictionaries. Procedural Specifications. 2. The Elements of Reflective Class-based Models. The Set of Objects. A Class Is an Object. Structure of an Object. Methods. Inheritance. The Top of the Inheritance Hierarchy. An Initial Environment. Creating Objects. Drawing Class Structures. Metaobject Protocols. 3. Inheritance of Metaclass Constraints. Fundamental Guarantee of Object-Oriented Programming. Metaclass Incompatibility. Metaclass Constraints. Importance of Inheriting Metaclass Constraints. From the Programmer's Point of View. Epistemological Argument for Inheritance of Metaclass Constraints. On Metaclasses That Invoke Instance Methods. 4. Dynamic Aspects of Our Object Model. Method Invocation. Instance Variable Access. Instance Initialization. Conservative Merge. Method Resolution Order. Class Construction. Parent Method Call. Cooperative Override Methods. Serious Order Disagreements. A Simple Programming Model. Monotonicity of Implementation Chains. 5. DTS C++. C++ Basics. DTS C++ Basics. Graph Versus Tree Inheritance. Typechecking. 6. Our Metaobject Protocol. Interface to Our Metaobject Protocol. Object Creation. Retrieving the Class of an Object. Freeing Objects. Initializing Classes. Solving a Set of Metaclass Constraints. Defining Methods of a Class. Readying a Class. Example: a Metaclass for Managing the Extent of a Class. Invoking Methods from Interpreters. Instance Variable Access. Example: Creation Time Stamps. Redispatching a Method. 7. Cooperation among Metaclasses. Requirements for Cooperative Metaclasses. Metaclass for Cooperation. Notes on the Design of Cooperation. Conflicts and Library Design. A Discussion of Parameter Passing. A Metaclass for Redispatching All Methods. Example: A Simple Trace Facility. 8. Before/After Metaclasses. The Composition Problem. Design of the Before/After Metaclass. Discussion. Example: A Simple Metaclass for Thread Safety. 9. Proxies. The Purpose of Proxies. Design of a Proxy Metaclass. Properties of Proxies. Distributed Systems. Extent Managed Proxies. 10. Metaclasses for Frameworks. Invariant Checking. Single Instanced Property. The Abstract Property. The Final Property. Mixins. Preventing Parent Method Calls. 11. Release-to-Release Binary Compatibility. The Library Compatibility Problem. Defining Release-to-Release Binary Compatibility. Procedural Programming. Object-Oriented Programming. When Classes are First-Class Objects. A Comparison of Support in Several Object Models. Completeness of a Set of Transformations. 12. Conclusion. Contributions of This Book. Appendix A Advanced Linearization. A.1 Properties of Linearizations. A.2 The Limits of Linearization. Appendix B Handling Apply and Redispatch Stubs. B.1 Enhanced Control over Method Dispatch. B.2 Example of an Apply Stub. B.3 Example of a Redispatch Stub. Appendix C Rationale for Drawing Conventions. Appendix D Answers to Selected Exercises. Bibliography. Index.

Erscheint lt. Verlag 9.12.1998
Verlagsort Boston
Sprache englisch
Maße 185 x 232 mm
Gewicht 535 g
Themenwelt Informatik Software Entwicklung Objektorientierung
ISBN-10 0-201-43305-2 / 0201433052
ISBN-13 978-0-201-43305-0 / 9780201433050
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
objektorientierte Entwicklung modularer Maschinen für die digitale …

von Thomas Schmertosch; Markus Krabbes; Christian Zinke-Wehlmann

Buch | Hardcover (2024)
Hanser (Verlag)
44,99
Entwicklung von GUIs für verschiedene Betriebssysteme

von Achim Lingott

Buch (2023)
Hanser, Carl (Verlag)
39,99
Principles and Practice Using C++

von Bjarne Stroustrup

Buch | Softcover (2024)
Addison Wesley (Verlag)
85,95