| PREFACE |
| |
| PART I: A GUIDE TO OBJECT-ORIENTED DESIGN |
| |
| | 1 ORIGINS OF THE SPECIES |
| | Preview |
| 1.1 | After 25 Years, Why Now? |
| 1.2 | What Makes an Object an Object? |
| 1.3 | Polymorphism and All That Jazz |
| 1.4 | Inheritance Is the Key to Reuse |
| 1.5 | Summary of the Main Points |
| | Further Reading |
| |
| 2 FRAMEWORK FUNDAMENTALS |
| | Preview |
| 2.1 | Inheritance Relation = Class Hierarchy |
| 2.2 | Your First Class Hierarchy |
| 2.3 | Frameworks Defined |
| 2.4 | Iterator Interactions in Frameworks |
| 2.5 | MVC: The Mother of All Interactions |
| 2.6 | Summary of the Main Points |
| | Further Reading |
| |
| 3 VISIT TO A SMALL FRAMEWORK |
| | Preview |
| 3.1 | The Component Architecture |
| 3.2 | TableView |
| 3.3 | The TableView Approach |
| 3.4 | ViewBuilder Data Model Architecture |
| 3.5 | TableView Implementation |
| 3.6 | Dynamic Runtime Options Architecture |
| 3.7 | Table Builder Architecture |
| 3.8 | Example: DreamGrader |
| | Further Reading |
| |
| 4 VISUAL PROGRAMMING WITH FRAMEWORKS |
| | Preview |
| 4.1 | What Is Objex? |
| 4.2 | The Objex System |
| 4.3 | Using the Petri Net Editor |
| 4.4 | Design and Implementation of the Petri Net Editor |
| 4.5 | Experience with the Petri Net Editor |
| 4.6 | An Evaluation |
| | Further Reading |
| |
| PART II: OFF-THE-SHELF DESIGNS |
| |
| 5 MACAPP: FIRST COMMERCIALLY SUCCESSFUL FRAMEWORK |
| Larry Rosenstein |
| |
| | Preview |
| 5.1 | Background |
| 5.2 | Design Evolution |
| 5.3 | Classes |
| 5.4 | Interactions |
| | Further Reading |
| |
| 6 REUSING MICROSOFT'S FOUNDATION CLASSES |
| Wolfgang Pree |
| |
| | Preview |
| 6.1 | Features of the MFC Framework |
| 6.2 | A MFC-friendly Environment |
| 6.3 | MFC's Cornerstones |
| 6.4 | Adaptation Support |
| 6.5 | Design Issues |
| 6.6 | Summary |
| | Further Reading |
| |
| 7 ET++ A PORTABLE HOMOGENEOUS CLASS LIBRARY AND APPLICATION FRAMEWORK |
| Andre Weinand & Erich Gamma |
| |
| | Preview |
| 7.1 | From Toolbox to Application Framework |
| 7.2 | An Example of an ET++ Application |
| 7.3 | Architectural Overview |
| 7.4 | The Toolkit |
| 7.5 | Application Framework |
| 7.6 | High-Level Building Blocks |
| 7.7 | Object-Oriented Modeling of System Dependencies |
| 7.8 | Runtime Object Inspection |
| 7.9 | ET++ Applications |
| 7.10 | Conclusions |
| 7.11 | Availability |
| | Further Reading |
| |
| 8 INTERVIEWS: A FRAMEWORK FOR X WINDOWS |
| Paul Calder |
| |
| | Preview |
| 8.1 | InterViews History |
| 8.2 | Composition: Assembling Predefined Components |
| 8.3 | Extension: Defining New Components |
| 8.4 | Implementing InterViews Graphics on X11 |
| 8.7 | Conclusions: The InterViews Experience |
| 8.8 | Acknowledgments |
| | Further Reading |
| |
| 9 OBJECT FRAMEWORKS IN THE TALIGENT OS |
| Glenn Andert |
| |
| | Preview |
| 9.1 | What Is Common Point? |
| 9.2 | The Taligent IO System |
| 9.3 | Enabling Hardware Innovation |
| 9.4 | Example: SCSI Services Domain |
| 9.5 | Conclusion |
| 9.6 | Acknowledgment |
| | References |
| |
| PART III: APPLICATIONS OF FRAMEWORKS |
| |
| 10 UNIDRAW: A FRAMEWORK FOR BUILDING DOMAIN-SPECIFIC GRAPHICAL EDITORS |
| John Missiles |
| |
| | Preview |
| 10. | What Is a Drawing Framework? |
| 10. | Unidraw's Design |
| 10. | Summary of Unidraw Classes |
| 10. | Applications |
| 10. | Summary |
| | References |
| |
| 11 PROGRAPH CPX |
| Kurt Schmucker |
| |
| | Preview |
| 11. | What Is Prograph? |
| 11. | Prograph Environment |
| 11. | Prograph Framework |
| | References |
| |
| 12 EPILOG |
| |
| 12. | The Long and Winding Road |
| 12. | The Dark Side of Objects |
| 12. | The True Path to Knowledge |
| 12. | What Have we Learned? |
| 12. | Frameworks 2000 |
| |
| INDEX |