Buy new:
£32.54£32.54
FREE Delivery
Dispatches from: Amazon US Sold by: Amazon US
Buy used £13.84
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet or computer – no Kindle device required. Learn more
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
The Object-Oriented Thought Process Paperback – 25 Aug. 2008
There is a newer edition of this item:
Purchase options and add-ons
The Object-Oriented Thought Process
Third Edition
Matt Weisfeld
An introduction to object-oriented concepts for developers looking to master modern application practices.
Object-oriented programming (OOP) is the foundation of modern programming languages, including C++, Java, C#, and Visual Basic .NET. By designing with objects rather than treating the code and data as separate entities, OOP allows objects to fully utilize other objects’ services as well as inherit their functionality. OOP promotes code portability and reuse, but requires a shift in thinking to be fully understood. Before jumping into the world of object-oriented programming languages, you must first master The Object-Oriented Thought Process.
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.
“Programmers who aim to create high quality software–as all programmers should–must learn the varied subtleties of the familiar yet not so familiar beasts called objects and classes. Doing so entails careful study of books such as Matt Weisfeld’s The Object-Oriented Thought Process.”
–Bill McCarty, author of Java Distributed Objects, and Object-Oriented Design in Java
Matt Weisfeld is an associate professor in business and technology at Cuyahoga Community College in Cleveland, Ohio. He has more than 20 years of experience as a professional software developer, project manager, and corporate trainer using C++, Smalltalk, .NET, and Java. He holds a BS in systems analysis, an MS in computer science, and an MBA in project management. Weisfeld has published many articles in major computer trade magazines and professional journals.
- ISBN-100672330164
- ISBN-13978-0672330162
- Edition3rd
- PublisherAddison Wesley
- Publication date25 Aug. 2008
- LanguageEnglish
- Dimensions17.78 x 1.91 x 22.86 cm
- Print length360 pages
From the brand
-
Addison-Wesley is a premiere publisher of books and eBooks for those working with technology.
This includes resources for programmers, developers, administrators, data scientists and engineers, team managers, students, and more.
-
Who are our authors?
Our authors are the creators, innovators, and thought leaders in computer science and technology including Donald Knuth, Bjarne Stroustrup, Brendan Gregg, Martin Fowler, Robert C. Martin.
Are our books for professionals only?
Our catalogue includes tutorials, references, guides, and deep dives for all levels, including never haven written a line of code to being in the industry for 40+ years and wanting to upskill.
Why Choose Addison Wesley?
We have been publishing the leading texts on computer science for decades and our titles appear on numerous "most recommended" lists.
-
-
Signature Series
Books in the series are personally chosen by expert advisors who are proud to put their signatures on the covers.
-
Professional Computing Series
Brian W. Kernighan created this series to provide serious programmers & networking professionals with practical reference books.
-
Professional Scrum Series
Deep insights into overcoming the challenges that both teams and organizations face as they seek to reap the benefits of agility.
-
Robert C. Martin Series
For software developers, team-leaders, business analysts & managers who want to increase their skill to the level of a Master Craftsman
-
Data & Analytics Series
Practical knowledge for solving problems & answering questions with data with a focus on infrastructure, algorithms and visualization.
-
The C++ In-Depth Series
Bjarne Stroustrup designer of C++ selected this collection to provide programmers with reliable information on C++ programming language
Product description
From the Back Cover
The Object-Oriented Thought Process
Third Edition
Matt Weisfeld
An introduction to object-oriented concepts for developers looking to master modern application practices.
Object-oriented programming (OOP) is the foundation of modern programming languages, including C++, Java, C#, and Visual Basic .NET. By designing with objects rather than treating the code and data as separate entities, OOP allows objects to fully utilize other objects’ services as well as inherit their functionality. OOP promotes code portability and reuse, but requires a shift in thinking to be fully understood. Before jumping into the world of object-oriented programming languages, you must first master The Object-Oriented Thought Process.
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.
“Programmers who aim to create high quality software–as all programmers should–must learn the varied subtleties of the familiar yet not so familiar beasts called objects and classes. Doing so entails careful study of books such as Matt Weisfeld’s The Object-Oriented Thought Process.”
–Bill McCarty, author of Java Distributed Objects, and Object-Oriented Design in Java
Matt Weisfeld is an associate professor in business and technology at Cuyahoga Community College in Cleveland, Ohio. He has more than 20 years of experience as a professional software developer, project manager, and corporate trainer using C++, Smalltalk, .NET, and Java. He holds a BS in systems analysis, an MS in computer science, and an MBA in project management. Weisfeld has published many articles in major computer trade magazines and professional journals.
About the Author
Matt Weisfeld
is an associate professor in business & technology at Cuyahoga Community College (Tri-C) in Cleveland, Ohio.A member of the information technology faculty, he focuses on programming, web development, and entrepreneurship. Prior to joining Tri-C,Weisfeld spent 20 years in the information technology industry gaining experience in software development, project management, small business management, corporate training, and part-time teaching. He holds an MS in computer science and an MBA in project management. Besides the first two editions of The Object-Oriented Thought Process, he has published two other computer books and articles in magazines and journals such as developer.com, Dr. Dobb’s Journal, The C/C++ Users Journal, Software Development Magazine, Java Report, and the international journal Project Management.
Product details
- Publisher : Addison Wesley; 3rd edition (25 Aug. 2008)
- Language : English
- Paperback : 360 pages
- ISBN-10 : 0672330164
- ISBN-13 : 978-0672330162
- Dimensions : 17.78 x 1.91 x 22.86 cm
- Best Sellers Rank: 2,624,714 in Books (See Top 100 in Books)
- 1,351 in Design Pattern Programming
- 3,208 in Programming Languages & Tools
- 4,825 in Amazon Online Shopping
- Customer reviews:
About the author

Discover more of the author’s books, see similar authors, read author blogs and more
Customer reviews
Customer Reviews, including Product Star Ratings, help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyses reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from United Kingdom
There was a problem filtering reviews right now. Please try again later.
I bought the book for the very reason it was classed as an introduction ('An introduction to object-oriented concepts'). It totaly served it's purpose giving a very clear overview of object concepts and to some degree how they fit in with other areas e.g. CORBA, XML, UML, JAVA etc.
It is true it doesn't go into great detail, that wasn't the aim, follow on reading is suggested throughout the book with recommendations. For this reason it was an easy read for somebody with no prior knowledge. I particularly liked the use of Java examples as that will be my next step.
If I had to pick fault there is a tiny bit of repetition and the examples used were not consistent, it would have been better to stay with the same theme throughout I feel. This in mind though I still feel it was a great book for somebody needing an introduction / overview. For anybody already with a fair degree of OO knowledge it's probably not the book for you.
My overall impression of the book is that it was a waste of my time and money. The first seven chapters are so basic, that I didn't learn anything from them. If you know what objects are, then you are unlikely to learn anything here. That's almost half of the book gone already. He spends too much time on little details, and not enough time discussing the bigger picture.
To make matters worse, his explanations were fairly poor. If I had been new to OO, and wanted an understanding of objects from the beginning, I don't think I would have got it from this book. He really doesn't have an understanding of how to explain concepts clearly. As it was, I struggled to work out what he was saying sometimes, even when I knew the idea before.
The point of this book was supposedly to show you how to change you way of thinking so that when you design your next software system, you approach it from an OO perspective. To do this, you need to take a sample problem and show how to analyse it and decide what objects to build. He failed to do this, concentrating instead on small, largely dumb examples that didn't give any real indication of how to make design decisions. He failed to do the basic point of the book.
He then added four chapters that were really irrelevant to the theme of the book, and looked like fillers. Subjects like distributed applications, the Internet and so on are nothing to do with the OO thought process at all. He would have been better adding more information in the chapters that were relevant to the book's title, and dropping these chapters altogether.
What's even worse is that the book is full of mistakes. There are a lot of typos, including in the code samples, as well as more serious mistakes. Some of these are merely irritating, but some were very misleading. For example, his explanation (if I can call it that) of the difference between an abstract class and an interface was totally confusing, and did not actually make the basic point clear. His "proof" that they are different was to point out that if you use one in place of the other, you'll get a compiler error! Given that interfaces are a very important subject in OO design, this point should have been crystal clear, and used as a building block. Instead it was badly explained, and then ignored. The rest of the book was pretty much the same.
His understanding (or lack of understanding) of the history of SGML, HTML and XML made the chapter on XML annoying and useless. For example, he claims that XML is a subset of SGML, which is wrong, but not a major problem. However, when you see someone writing a book and making basic mistakes in the facts, it makes you wonder how much he really understand the subject.
Also in the chapter on XML, he claims that XML has two distinct advantages over HTML (as if they were designed for the same purpose), namely that XML has validity and well-formed documents. This is such rubbish that I was amazed that the publishers printed it. You can write invalid and badly-formed XML, and you can write valid well-formed HTML. The mechanisms for ensuring both are exactly the same for both languages, and it is purely down to the person creating the XML or HTML to ensure validity and well-formedness.
This is just one example of how the book is inaccurate. There are many more. Along with the inaccuracies in the code, it gave me little confidence in the author.
He ends off with a chapter on design patterns, that was so shallow as to be useless. Instead of explaining the point of design patterns, and how they can help, he just showed three examples. Unfortunately, the three patterns he chose, and the examples he used to illustrate them gave the impression that design patterns are a fairly small, unimportant subject that has a use, but not so much that you need to spend too much time on them. This is of course totally wrong. You can't think in an OO way without getting into design patterns.
Overall I would not recommend this book at all. If you want to know how to think in objects, get hold of a book on design patterns, and read that. It will give you far more idea that this poor book.
There are nice simple instructions how to create classes, why we write "private" (although the author appears mistaken about what "private" and "protected" actually mean in Java), and lots of code snippets, although about half the snippets in the first 60 pages would never compile in the form they are printed in. I would have thought these errors would have been picked up on earlier editions.
There is a nice example of a class called Cabbie, but there are two odd bits of design which would have made very valuable lessons, but they are not properly discussed.
The last chapter about design patterns is far too short, barely scratching the surface, and the section devoted to anti-patterns is so short as to be useless
I thought there were too few references, they weren't in a conventional arrangement, and the most interesting quote (by Herbert Simon) wasn't given a source. Also that quote could only be found from the index by looking for "Simon, Herbert."
Even though I enjoyed reading the book, I would hesitate to recommend it to somebody inexperienced.
