This week's giveaway is in the Artificial Intelligence and Machine Learning forum.
We're giving away four copies of liveProject: Build an ML Recommender System and have Kim Falk on-line!
See this thread for details.
Win a copy of liveProject: Build an ML Recommender System this week in the Artificial Intelligence and Machine Learning forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • paul wheaton
  • Devaka Cooray
Sheriffs:
  • Jeanne Boyarsky
  • Tim Cooke
  • Liutauras Vilda
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Stephan van Hulst
  • Carey Brown
  • Piet Souris
Bartenders:
  • salvin francis
  • Mikalai Zaikin
  • Himai Minh
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Image from Amazon
Title: The Object-Oriented Thought Process, 4th Edition
Author(s): Matt Weisfeld
Publisher: Addison-Wesley Professional
Category: Beginning Java


Summary

Addison-Wesley Professional wrote:The Object-Oriented Thought Process, Fourth Edition

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#, Visual Basic .NET, Ruby, and Objective-C. 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 (such as Objective-C, VB .NET, C++, C# .NET, or Java) or a modeling language (such as UML), 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 make the leap to 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 interoperability across programming technologies, whether you are using objects in traditional application design, in XML-based data transactions, in web page development, in mobile apps, or in any modern programming environment.

“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

Contents at a Glance
1 Introduction to Object-Oriented Concepts
2 How to Think in Terms of Objects
3 Advanced Object-Oriented Concepts
4 The Anatomy of a Class
5 Class Design Guidelines
6 Designing with Objects
7 Mastering Inheritance and Composition
8 Frameworks and Reuse: Designing with Interfaces and Abstract Classes
9 Building Objects and Object-Oriented Design
10 Creating Object Models
11 Objects and Portable Data: XML and JSON
12 Persistent Objects: Serialization, Marshaling, and Relational Databases
13 Objects in Web Services, Mobile Apps, and Hybrids
14 Objects and Client/Server Applications
15 Design Patterns




Book Preview (when available)



From the publisher
  • Chapter 3: Advanced Object-Oriented Concepts (HTML or PDF)
  • Excerpt from Chapter 7: Why Encapsulation Is Fundamental to Object-Oriented Programming (HTML)
  • Code Files (ZIP)



  • Where to get it?
  • Amazon.com
  • InformIT



  • Related Websites
  • Article: Becoming a Programming Rock Star: 5 Traits that Make a Great Programmer
  • Article: How Sitecore and the Modern CMS Follow the Object-Oriented Thought Process
  • Article: Improving the Design and Implementation of Object-Oriented Code: The Ongoing Quest for Data Integrity
  • Article: The Education of a Programmer: A Review of Job Types and Academic Degrees
  • Article: The Importance of Object-Oriented Programming in the Era of Mobile Development
  • Article: The Rise and Fall of Pointer Arithmetic in the Evolution of Memory Management
  • COMMENTS:
     
    Bartender
    Posts: 3225
    34
    IntelliJ IDE Oracle Spring Chrome Java
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    If you were to ask me a book to understand the Object oriented concepts in a practical way- I will surely recommend "The Object Oriented Thought process".

    These are some of the good things I found:
    - the author tries to be independent of the programming language while explaining the concepts. You can see few Java examples to make things more clear, few C# examples and a mention of Objective C here and there.
    - there has been use of UML class diagrams in a simple way and a dedicated chapter to understand UML class diagrams.
    - in the first part of the book i.e upto around chapter 10 the code examples are fairly simple.
    - some introduction to few advanced concepts in OOP like serialization, persistance, client-server, design patterns.
    - the author tries to explain any new concepts right at the place where they were introduced.
    - the author uses simple language to explain concepts.

    These are some of the not so good things:
    - the code examples in the application chapters are a bit overdose. They are a bit complicated for a newbie in Java, but the stress is not on the code but on the concepts.
    - illustrations in few places were not required.
    - code exmaples in XML chapters are not so clear and at few places the code is not indented correctly.

    Bottom line is: Recommend this book to anyone who wants to get a good understanding of basic OOP concepts without much intervention of a programming language. Not much recommended to someone who's already been doing OOP development for quite sometime.

    I give this book 8 out of 10 horseshoes
    ---
    Disclosure: I received a copy of this book from the publisher in exchange for writing this review on behalf of CodeRanch.
     
    Consider Paul's rocket mass heater.
    reply
      Bookmark Topic Watch Topic
    • New Topic