Object-oriented programming (OOP) is the foundation of modern
programming languages, including C++, Java, C#, Visual Basic .NET, Ruby,
Objective-C, and Swift. Objects also form the basis for many web
technologies such as JavaScript, Python, and PHP.
It is of vital importance to learn the fundamental concepts of object
orientation before starting to use object-oriented development
environments. OOP promotes good design practices, code portability, and
reuse-but it requires a shift in thinking to be fully understood.
Programmers new to OOP should resist the temptation to jump directly
into a particular programming language or a modeling language, and
instead first take the time to learn what author Matt Weisfeld calls
"the object-oriented thought process."
Written by a developer for developers who want to improve their
understanding of object-oriented technologies, The Object-Oriented
Thought Process provides a solutions-oriented approach to
object-oriented programming. Readers will learn to understand the proper
uses of inheritance and composition, the difference between aggregation
and association, and the important distinction between interfaces and
implementations.
While programming technologies have been changing and evolving over the
years, object-oriented concepts remain a constant-no matter what the
platform. This revised edition focuses on the OOP technologies that have
survived the past 20 years and remain at its core, with new and expanded
coverage of design patterns, avoiding dependencies, and the SOLID
principles to help make software designs understandable, flexible, and
maintainable.