The Object-Oriented Thought Process

Aleksandr Shitik
Aleksandr Shitik

I write my own posts and books, and review movies and books. Expert in cosmology and astronomy, IT, productivity, and planning.

The Object-Oriented Thought Process
Matt Weisfeld
Genres: Programming
Year of publication: 2020
Year of reading: 2021
My rating: Normal
Number of reads: 1
Total pages: 256
Summary (pages): 6
Original language of publication: English
Translations to other languages: Russian

General description

The book is 250 pages long and contains 12 chapters. In addition to textual information, the material is presented graphically (images, flowcharts, and diagrams), as well as code snippets. Although there are not a great many code snippets for a book of this type. At the end of each chapter there is a summary of the material covered. If we do not take into account that the book is a little dull, the level of difficulty is something between easy and medium.

Brief description

Let’s briefly list the contents of the chapters.

  • Chapter  1. Introduction to object‑oriented concepts. The fundamental concepts are listed briefly. Classes, objects, methods, and the like are examined.
  • Chapter  2. How to think object‑oriented. This is about when and where to use OOP, and it also discusses interfaces.
  • Chapter  3. Other object‑oriented concepts. Here constructors, method and operator overloading, exception handling, and other things are examined.
  • Chapter  4. Anatomy of a class. Here the structure of a class is examined in more detail. Much attention is paid to access modifiers.
  • Chapter 5. Guide to class design and Chapter  6. Designing with objects. Both chapters contain advice on how to design classes so that they are testable, maintainable, and scalable.
  • Chapter  7. Inheritance and composition. The title of this chapter says it all.
  • Chapter  8. Frameworks and reuse: designing with interfaces and abstract classes. The title, however, does not fully reflect reality. It does not cover working within frameworks, say Spring or Laravel. It is more about UML diagrams.
  • Chapter  9. Creating objects and object‑oriented design. The peculiarities of composition—aggregation and association—are examined here.
  • Chapter  10. Design patterns. Three pattern groups are mentioned briefly.
  • Chapter  11. Avoiding dependencies and tightly coupled classes and Chapter  12. SOLID principles of object‑oriented design. These chapters also speak for themselves. The benefits of dependency injection and SOLID are described.

Opinion

Although functional programming is more fashionable right now than OOP, many popular programming languages still support and promote the object‑oriented programming paradigm. This book is a good reference for those who want to get acquainted with OOP. Unfortunately, it did not give me many new insights, as I had already tried OOP in many languages before.

Вверх