Book Review of Object Design Style Guide by Matthias Noback

Author Lars Roettig October 16, 2019 3 min read

Introduction

As Software Developers, we need to know how a suitable object looks like if working with an object-oriented programming language like PHP, Java, C#. To learn the syntax of the programming language (classes, methods, properties, etc.), it doesn’t take too much effort, but with a proper design for your objects, it mutch more complex.

I’m always looking for ways to make the job easier, and less demanding. I’m writing tests for my code, to prevent regressions. I keep my code simple, so debugging it will be easier. By writing this book, I’ve tried to do the same thing. Following the rules in this guide will free up the mental energy you’ll need for the more difficult parts of object design.

Matthias Noback - Object Design Style Guide

Who this book is for?

This book is for programmers with at least some basic knowledge of an object-oriented programming language. You should understand the language’s possibilities regarding class design. That is, I expect you to know what it means to define a class, instantiate it, extend it, mark it as abstract, define a method, call it, define parameters and parameter types, define return types, define properties and their types, etc. I also expect you to have some actual experience with all of this, even if it’s not much. I think you should be able to read this book if you’ve just finished a basic programming course, but also if you’ve been working with classes for years.

What is in this book

The book contains nine sections: 1. Creating services 2. Creating other objects 3. Manipulating objects 4. Using objects 5. Retrieving information 6. Performing tasks 7. Dividing responsibilities 8. Changing the behavior of services 9. A field guide to objects

I can highly recommended. Grab a copy now! This book has helped me better understand object design and deepen architectural patterns. It is an excellent complement to clean code. I was able to understand the examples much better through generalization.

Avatar of Lars Roettig
Written by

Lars Roettig

Software Engineer at TechDivision GmbH and Maintainer of the Community Engineering Team at Magento. He has 8 years of professional Software Engineering experience. Lars is passionate about Magento and Open Source.