You are previewing Object-Oriented Thought Process, The, Second Edition.
O'Reilly logo
Object-Oriented Thought Process, The, Second Edition

Book Description

A new edition of this title is available, ISBN-10: 0672330164 ISBN-13: 9780672330162

The Object-Oriented Thought Process, Second Edition will lay the foundation in object-oriented concepts and then explain how various object technologies are used. Author Matt Weisfeld introduces object-oriented concepts, then covers abstraction, public and private classes, reusing code, and devloping frameworks. Later chapters cover building objects that work with XML, databases, and distributed systems (including EJBs, .NET, Web Services and more).Throughout the book Matt uses UML, the standard language for modeling objects, to provide illustration and examples of each concept.

Table of Contents

  1. Copyright
  2. Developer's Library
  3. About the Author
  4. Acknowledgments
  5. We Want to Hear from You!
  6. Introduction
  7. Introduction to Object-Oriented Concepts
    1. Procedural Versus OO Programming
    2. Moving from Procedural to Object-Oriented Development
    3. What Exactly Is an Object?
    4. What Exactly Is a Class?
    5. Using UML to Model a Class Diagram
    6. Encapsulation
    7. Inheritance
    8. Polymorphism
    9. Composition
    10. Conclusion
  8. How to Think in Terms of Objects
    1. Knowing the Difference Between the Interface and the Implementation
    2. Using Abstract Thinking when Designing Interfaces
    3. Giving the User the Minimal Interface Possible
    4. Conclusion
    5. References
  9. Advanced Object-Oriented Concepts
    1. Constructors
    2. Error Handling
    3. The Concept of Scope
    4. Operator Overloading
    5. Multiple Inheritance
    6. Object Operations
    7. Conclusion
    8. References
  10. The Anatomy of a Class
    1. The Name of the Class
    2. Comments
    3. Attributes
    4. Constructors
    5. Accessors
    6. Public Interface Methods
    7. Private Implementation Methods
    8. Conclusion
    9. References
  11. Class Design Guidelines
    1. Identifying the Public Interfaces
    2. Designing Robust Constructors (and Perhaps Destructors)
    3. Designing Error Handling into a Class
    4. Designing with Reuse in Mind
    5. Designing with Extensibility in Mind
    6. Designing with Maintainability in Mind
    7. Using Object Persistence
    8. Conclusion
    9. References
  12. Designing with Objects
    1. Design Guidelines
    2. Case Study: A Blackjack Example
    3. Conclusion
    4. References
  13. Mastering Inheritance and Composition
    1. Inheritance
    2. Composition
    3. Why Encapsulation Is Fundamental to OO
    4. Conclusion
    5. References
  14. Frameworks and Reuse: Designing with Interfaces and Abstract Classes
    1. Code: To Reuse or Not to Reuse?
    2. What Is a Framework?
    3. What Is a Contract?
    4. An E-Business Example
    5. Conclusion
    6. References
  15. Building Objects
    1. Composition Relationships
    2. Building in Phases
    3. Types of Composition
    4. Avoiding Dependencies
    5. Cardinality
    6. Tying It All Together: An Example
    7. Conclusion
    8. References
  16. Creating Object Models with UML
    1. What Is UML?
    2. The Structure of a Class Diagram
    3. Attributes and Methods
    4. Access Designations
    5. Inheritance
    6. Interfaces
    7. Composition
    8. Cardinality
    9. Conclusion
    10. References
  17. Persistent Objects: Serialization and Relational Databases
    1. Persistent Object Basics
    2. Saving the Object to a Flat File
    3. Writing to a Relational Database
    4. Loading the Driver
    5. Conclusion
    6. References
  18. Objects and XML: Portable Data
    1. Portable Data
    2. The Extensible Markup Language (XML)
    3. XML Versus HTML
    4. XML and Object-Oriented Languages
    5. Sharing Data Between Two Companies
    6. Validating the Document with the Document Type Definition (DTD)
    7. Integrating the DTD into the XML Document
    8. Using Cascading Style Sheets
    9. Conclusion
    10. References
  19. Objects and the Internet
    1. Object-based Scripting Languages
    2. A JavaScript Validation Example
    3. Java Applets Are Objects
    4. JavaBeans Are Objects
    5. Conclusion
    6. References
  20. Distributed Objects and the Enterprise
    1. The Common Object Request Broker Architecture (CORBA)
    2. Java's Remote Method Invocation (RMI)
    3. Java's Enterprise JavaBeans
    4. Types of Enterprise JavaBeans
    5. Conclusion
    6. References
  21. Design Patterns
    1. Why Design Patterns?
    2. Smalltalk's Model/View/Controller
    3. Types of Design Patterns
    4. Antipatterns
    5. Conclusion
    6. References
  22. Index