The Object-Oriented Thought Process, 5th Edition

by Zhiyong Tan

Software Development

Book Details

Book Title

The Object-Oriented Thought Process, 5th Edition

Author

Matt Weisfeld

Publisher

Addison-Wesley Professional

Publication Date

2019

ISBN

9780135182130

Number of Pages

475

Language

English

Format

PDF

File Size

5.6MB

Subject

object-oriented-programming

Table of Contents

  • Cover Page
  • About This E-Book
  • Half Title Page
  • Title Page
  • Copyright Page
  • Dedication Page
  • Contents at a Glance
  • Table of Contents
  • Acknowledgments
  • About the Author
  • We Want to Hear from You!
  • Reader Services
  • Figure Credits
  • Introduction
  • This Book’s Scope
  • What’s New in the Fifth Edition
  • The Intended Audience
  • The Book’s Approach
  • Source Code Used in This Book
  • 1. Introduction to Object-Oriented Concepts
  • The Fundamental Concepts
  • Objects and Legacy Systems
  • Procedural Versus OO Programming
  • Moving from Procedural to Object-Oriented Development
  • What Exactly Is an Object?
  • What Exactly Is a Class?
  • Using Class Diagrams as a Visual Tool
  • Encapsulation and Data Hiding
  • Inheritance
  • Polymorphism
  • Composition
  • Conclusion
  • 2. How to Think in Terms of Objects
  • Knowing the Difference Between the Interface and the Implementation
  • Using Abstract Thinking When Designing Interfaces
  • Providing the Absolute Minimal User Interface Possible
  • Conclusion
  • References
  • 3. More Object-Oriented Concepts
  • Constructors
  • Error Handling
  • The Importance of Scope
  • Operator Overloading
  • Multiple Inheritance
  • Object Operations
  • Conclusion
  • References
  • 4. The Anatomy of a Class
  • The Name of the Class
  • Comments
  • Attributes
  • Constructors
  • Accessors
  • Public Interface Methods
  • Private Implementation Methods
  • Conclusion
  • References
  • 5. Class Design Guidelines
  • Modeling Real-World Systems
  • Identifying the Public Interfaces
  • Designing Robust Constructors (and Perhaps Destructors)
  • Designing Error Handling into a Class
  • Designing with Reuse in Mind
  • Designing with Extensibility in Mind
  • Designing with Maintainability in Mind
  • Using Object Persistence
  • Conclusion
  • References
  • 6. Designing with Objects
  • Design Guidelines
  • Object Wrappers
  • Conclusion
  • References
  • 7. Mastering Inheritance and Composition
  • Reusing Objects
  • Inheritance
  • Composition
  • Why Encapsulation Is Fundamental to OO
  • Conclusion
  • References
  • 8. Frameworks and Reuse: Designing with Interfaces and Abstract Classes
  • Code: To Reuse or Not to Reuse?
  • What Is a Framework?
  • What Is a Contract?
  • An E-Business Example
  • Conclusion
  • References
  • 9. Building Objects and Object-Oriented Design
  • Composition Relationships
  • Building in Phases
  • Types of Composition
  • Avoiding Dependencies
  • Cardinality
  • Tying It All Together: An Example
  • Conclusion
  • References
  • 10. Design Patterns
  • Why Design Patterns?
  • Smalltalk’s Model/View/Controller
  • Types of Design Patterns
  • Antipatterns
  • Conclusion
  • References
  • 11. Avoiding Dependencies and Highly Coupled Classes
  • Composition versus Inheritance and Dependency Injection
  • Conclusion
  • References
  • 12. The SOLID Principles of Object-Oriented Design
  • The SOLID Principles of Object-Oriented Design
  • Conclusion
  • References
  • Index
  • Code Snippets