Matthias Noback

Author
+ Follow
since Dec 18, 2019
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
In last 30 days
0
Forums and Threads

Recent posts by Matthias Noback

Thanks for the invitation and congratulations to the winners!
I find that when developers find out about design patterns, they want to apply them, because they are cool and look interesting/make their code look smart. At least I did this when I first read design pattern books In my book I aim to get back to some of the OO basics and I establish some of the basic ideas that, when you follow them, will eventually lead you to discover the most important design patterns by yourself. I think that's more helpful then starting with the design patterns and only then wondering about what OO programming entails.
Some useful answers have been provided here already. Yes, immutability is a central concept. The underlying design concept is to make objects predictable by making them recognizable; making it very clear what to expect from them. E.g. how you can use them, what they will do when you call them (give you a piece of information, or produce some kind of side-effect), etc.
Well, one of the issues for me is that developers write code using classes that is not resulting in object-oriented design at all, even though technically speaking they use objects.
My book doesn't aim to provide OO fundamentals, but establishes a style of OOP that I think will nudge developers in the direction of true object-orientation. In several places the reason for certain style rules is the typical ideal of object-orientation: encapsulation.
Thanks Mike!
I have specifically written this book to be useful for programmers with any amount of experience. However, I'm not sure if this book is for you if you don't have any programming experience at all. I think you might be better off finsihing the course and then take a look at this book to establish some kind of style for yourself.
Hi Ludoviko,
The examples in the book are in a Java-like language. They are similar to any other language in this family of languages (Java, C#, PHP, etc.), yet some of the details that are specific to any of these languages have been removed to make the ideas in this book as widely accessible as possible.