Jump to ratings and reviews
Rate this book

The Object-Oriented Thought Process

Rate this book
"Written by a developer for developers who want to make the leap to object-oriented technologies as well as managers who simply want to understand what they are managing, the Object Oriented Thought Process provides a solution-oriented approach to object-oriented programming. Readers will learn to understand object-oriented design with inheritance or composition, object aggregation and association, and the difference between interfaces and implementations. Readers will also become more efficient and better thinkers in terms of object-oriented development." This revised edition focuses on interoperability across various technologies, primarily using XML as the communication mechanism. A more detailed focus is placed on how business objects operate over networks, including client/server architectures and web services.

330 pages, Paperback

First published January 1, 2000

166 people are currently reading
572 people want to read

About the author

Matt Weisfeld

8 books5 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
114 (22%)
4 stars
208 (40%)
3 stars
138 (27%)
2 stars
38 (7%)
1 star
12 (2%)
Displaying 1 - 30 of 62 reviews
Profile Image for Mahmoud Amr.
9 reviews3 followers
November 30, 2021
I have seen a lot of bad reviews on this book, but I highly disagree.

The fact that this book is written to introduce people to the world of Objectville makes it really such a great book. This book isn't written for professional/intermediate programs that are looking to write better OO code using IoC or strong design patterns.

This book assumes that you have 0 knowledge in OO and takes you to above beginner knowledge and puts you on the road to read thoroughly a couple more concepts. I highly highly recommend this book for any **beginner** who is looking to have a good understanding in OOP and understand why the hell we use such a thing.
Profile Image for Graham Lee.
119 reviews28 followers
February 2, 2014
I was not a fan at all of this book. It's like one of the object-oriented programming books of the 1990s, telling you all about how great objects are then showing Java code riddled with statics and public mutator methods.

All the hallmarks are there: the implementation-derived interfaces, pointless hierarchies where we learn that Dogs are Canines are Mammals and that Squares are Rectangles are Shapes, and more.

The book has very little on what I would consider object-oriented thought. There is a superficial chapter on design patterns. Nothing useful on domain modeling. Nothing on the kinds of principles that were already evinced in Bertrand Meyer's writing. Nothing on message-passing, prototypical inheritance, design by contract or anything that doesn't conform to a Java 1.3 view of OOP. Nothing on capturing intent in designing objects.

It appears as if the author's perspective on OOP is that it's a useful way to wrap procedural code for use in modern systems, rather than being a system design process in its own right that happens to sometimes incorporate procedural code.

I would not recommend this as an introduction to modern Object-Oriented techniques: unfortunately I can't think of anything that does fill that gap.
Profile Image for Mrugesh.
49 reviews5 followers
May 26, 2012
I found this book to be useful when I started learning OOP. But after having pursued OOP diligently over the past few months, especially with Ruby, this book teaches things just WRONG!

I've learnt that OOP needs to be learnt by following one simple (well, not quite) concept - abstraction. It's the heart of OOP. Objects are an abstraction on Procedural code based on real life examples of abstraction. Classes are an abstraction on Objects. Not the other way 'round. This book really teaches Class Oriented Programming.

Worse yet, concepts are explained based on their implementations in the popular contemporary languages. That's wrong. The approach should be to teach the OO though process and then adapted to the implementations.

I can't recommend this book anymore. But what's a good alternative to start off with OOP? I think I'll just have create my own.
Profile Image for Rakesh.
8 reviews
November 24, 2012
The title "The Object-Oriented Thought Process" undoubtedly matches with what the book actually delivers. This is a must-read book for anyone who not only wants to learn the definitions of object-orientation but also develop a thoughtful strategy towards OOP. The author has done a very good job by presenting the core concepts in a no-nonsense manner. Example codes are precise and clear. The only glitch, I must say, is that several topics and explanations are uselessly repeated.
Profile Image for Mahmoud Shrif.
45 reviews81 followers
August 27, 2024
الكتاب بيشرح ال Object Oriented Programming (OOP) and Object Design Principles يعيدا عن أي لغة محددة بس العيب الشديد فيه هو انوه ضحل جداا جداااا جدااا في ال Design وكمان عيب هو انوه مفيش Complete Real-World Project يطبق فيه كل اليالكاتب شرحوه وعشان تفهم قصدي بص هنا https://www.educative.io/courses/grok... او https://github.com/prasadgujar/low-le...
بس ع العموم هو Intro كويسه بس برضوه مش هتعرف تعمل OO Design & Analysis ل problem من الي فوق دول و هيخليك تحتاج تشوف مصدر تاني عشان ت Design
139 reviews1 follower
December 25, 2021
I don't think I am the intended audience for this book. I've been using OOP for like 10 years and this book is more geared towards beginners so my review may be a little biased. It is hard for me to unknow what I already know.

Overall its not bad as an introduction to OOP but I think there are better books out there for that. I generally hate criticizing books because I realize the large amount of effort that goes into them. I also realize that explaining the thought process behind OOP is no easy task.

My criticisms revolve around 2 things. 1. The choice of examples could be better. Often I'm not sure that they accurately portray what the author is trying to show. Also it seems like all OOP book authors use the same couple examples. There's gotta be better examples out there. 2. The author's use of the word interface is confusing. This may just be because I'm already thinking in terms of JAVA style interfaces. The author would be better off using the term API to refer to the methods of class instead of it's interface. I feel like I was able to follow what he was saying, but I feel a beginner would be totally confused.

If those 2 changes were made I would totally give it 4 stars.
Profile Image for Patrick Coakley.
48 reviews10 followers
August 22, 2017
This book teaches OOP using Java as a model, so you get a lot of the typical Java best practices and general advice presented as "object-oriented programming." I was hoping for a book that was more about object-oriented design and the thought process behind designing applications, but instead it's just an intro to programming using object-oriented languages (Java, C#, and C++ circa the early 2000's). If you've ever used Ruby or read up on Smalltalk, then a lot of what this book talks about will just be confusing as it really has nothing to do with OO-specific problem domains and is more about how modern (at the time) software development works.

The few good spots in the book are the clear definitions of the terminology and some examples of design patterns at the end, which I admit were pretty decent, though there were only a small handful. This book might be useful for someone who has mostly been using imperative languages and wants to take a look at Java, but the code samples haven't aged well and there are far more options on the market than just C#, Java, and C++ these days, so it's hard to recommend this book.
Profile Image for Richard Audet.
10 reviews1 follower
September 21, 2022
I enjoyed reading this book. It covers the fundamentals of Object-Oriented programming using the Java programming language, and I would have greatly benefited from it had I read it 20 years ago. I appreciate the emphasis placed on the idea of "prefer composition over inheritance" and how to do so, while also pointing out the design considerations between these choices.

Where the book falls short for me is in the number of typos and formatting errors, especially for a fifth edition book; as well as how weak the coverage is in the last two chapters. It's as if both the author and the editors fell asleep at the wheel, which is unfortunate because the last two chapters had the potential to be the most exciting of them all. Despite its faults, I'm glad to have read it. I just wish it was good enough for five stars. Maybe the sixth edition? I won't hold my breath.
Profile Image for Adam.
34 reviews
February 26, 2020
Great quick read - good over all Object-Oriented book. More concise version similar to Object Thinking by David West. I picked up the fifth edition, because it appears to have been pared down.

Definitely for someone who is still new to developing OOP, but is ready to understand why things are the done certain ways. Also good to help to improve the design process, like not getting too zealous with OOP constructs - applying some reasoning for using certain features. If you've already grokked the subject, this might seem too simplistic.
Profile Image for Jawwad Zafar.
95 reviews
June 4, 2020
Coming from JavaScript background I had a little base around of classes and this books has helped me gain some concept around it. Overall they also tell you how to approach Object oriented design, if you're new to that, so it's okay for a beginner.
I read the 5th Edition of the book which promise on being updated to modern perspective they do but only for the first chapter and I think they forgot to update the subsequent pages after that. There was a lot of repetition of text, and examples, which books do but they approach it quite gracefully.
Profile Image for Sasha.
120 reviews
August 27, 2020
TL;DR An exploration of what good design means in the context of OOP concepts. Lots of examples (in Java).

It fulfilled the purpose of introducing and explaining how to design for reusability and easy maintenance in the context of OOP - showed both good code and bad code. I was hoping for some less abstract examples but it did the job.
Profile Image for Ahmed Aziz.
1 review1 follower
April 9, 2021
What I liked about this book is how clear it explains all the difficult topics about OOP. Each section of the book explains the subject clearly with simple examples without any complications. That said, this book gives you a starting point about OOP, and you should look for another book if you want to have deep knowledge about the subjects.
4 reviews
August 29, 2023
Verbose, I guess that native English could just skim through and grasp the diluted knowledge but for unseasoned foreigners it is simply not possible to skimming, so a lot of time and energy is wasted. If I could draw only one conclusion from this book, it would be OOP could be clearly and completely demonstrated in no more than 50 pages and the readers are easier with it.
Profile Image for Scott.
450 reviews11 followers
May 1, 2019
This was largely a disappointment. I learned very little and the organization was terrible to begin with. There was a lot of repetition within the chapters, a very formulaic "tell them what you're going to tell them, tell them, then tell them what you told them" that I hate so very much.
Profile Image for João Pedro Sartório Lovatti.
5 reviews
March 23, 2021
Como um livro introdutório ele faz um trabalho bastante bom ao apresentar os processos que envolvem o pensamento em objetos.

Porém, ele peca em não tocar em assuntos mais avançados e recorrentes na indústria de software.
Profile Image for Hatem.
84 reviews10 followers
February 18, 2023
So much fun for lightreading, didn't add a lot of new information. I actually found it weird that a lot of CSharp was used instead of fully Java as code example in the book. But still it refreshed a lot of information.
1 review
April 2, 2023
A great intro to OO fundamental concepts and SOLID design choices for beginners, touching on design patterns, with basic code examples.

It is a little let down by repeating itself, and the usual trope of using Shapes/Circles rather than a realistic business domain.
1 review1 follower
December 12, 2023
The author provided no clear definition for interface, implementation, polymorphism. The book gives a bunch of examples that contain a lot of confusion and hope that reader will draw definition from that mess. Highly not recommend for beginner.
Profile Image for Serg.
16 reviews1 follower
November 22, 2017
Хорошо расписаны базовые концепции и ничего большего. На протяжении всего чтения не покидало ощущение, то информация несколько устаревшая.
Profile Image for Roman.
96 reviews3 followers
December 12, 2018
I believe i will reread this book from time to time
43 reviews
October 3, 2020
Rather outdated now, and was not a very big fan of the content presented in the book.
Profile Image for Shubham Chhabra.
9 reviews
July 13, 2021
Explains the basic priniciples of OO in theory.
Disappointed by redundant information through out the book and lack of good code examples.
1 review
June 26, 2022
A good brief introduction to object-oriented programming, suitable for novice programmers.
Profile Image for Jota.
166 reviews10 followers
January 31, 2025
The best book for an introduction to OOP.
I refreshed what I learned during my university days. The analogies by the author are pure gold!
Displaying 1 - 30 of 62 reviews

Can't find what you're looking for?

Get help and learn more about the design.