Appropriate for all introductory courses in object-oriented design or programming, as well as introductory-to-intermediate level programming language courses that focus heavily on object-oriented techniques. Before students begin to code in object-oriented languages, they need a solid understanding of object-oriented technologies and design. The Object-Oriented Thought Process, Second Edition gives them the foundation they need to succeed with virtually any contemporary language or software design project. It also explains how today's most important object technologies are used with a wide range of environments and technologies. In this new Second Edition, expert trainer and teacher Matt Weisfeld has added more examples, more functions, and more of the common patterns developers need to know in order to be effective. Weisfeld begins by introducing fundamental object-oriented concepts; then explains abstraction, public and private classes, code reuse, and frameworks. He then shows how to build objects that work with XML, databases, and distributed systems (including EJB, .NET, Web Services, and more). Throughout the book, Weisfeld illustrates examples with UML, the industry standard object modeling language. The book will be valuable to a wide range of students, including experienced object-oriented programmers who haven't taken time to learn object-oriented techniques properly; as well as programmers who want to migrate from procedural languages such as Visual Basic 6 or JavaScript.