Book Review of Object Design Style Guide by Matthias Noback
Tags: php, bookreview
Published: 2019-10-30 08:12:26

---
title: Book Review of Object Design Style Guide by Matthias Noback
published: true
date: 2019-10-16 00:00:00 UTC
tags: php,bookreview
canonical_url: https://larsroettig.dev/book-review-of-object-design-style-guide-by-matthias-noback
---

# <svg aria-hidden="true" focusable="false" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>Book Review of Object Design Style Guide by Matthias Noback

## <svg aria-hidden="true" focusable="false" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>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

## <svg aria-hidden="true" focusable="false" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>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.

## <svg aria-hidden="true" focusable="false" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>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.

**Link: [https://www.manning.com/books/object-design-style-guide](https://www.manning.com/books/object-design-style-guide)**