Elemental Design Patterns Book Review
|Elemental Design Patterns are the underlying core concepts of programming and software design that have remained described.|
This book is a book I wish I had 15 years ago to help me put the basics of programming into their proper context. Learning how to make use of patterns over the years would have been much simpler had I read this book first.
I have listed the chapters of the book below along with the patterns in the catalog. Take a look at he names of the patterns and you can see how low level these patterns are.
Chapter 1: Introduction to Design Patterns
Chapter 2: Elemental Design Patterns
Chapter 3: Pattern Instance Notation
Chapter 4: Working with EDPs
Chapter 5: EDP Catalog
Chapter 6: Intermediate Pattern Compositions
Chapter 7: Gang of Four Pattern Compositions
7.1 Creational Patterns
7.2 Structural Patterns
7.3 Behavioral Patterns
Appendix A: Rho-Calculus
My goal with a solution's architecture is always to make it the simplest solution possible in order to maximize maintainability. That means i must accomplish providing the highest level of transparency possible. That means providing the right level of detail at the right level of abstraction. When they are used patterns allow for a common language to be used. This book provides a language to allow you to go to a lower level of abstraction getting to the core concepts of programming.
My favorite part of this book is how explicitly names and sheds light on all the logic we take for granted when we are programming. Don't however expect to breeze through this book. Although the author is bringing to light concepts that you use everyday, this is the first time you'll be thinking about them with intensity. You have to following along with the author's logical introduction throughout the first few chapters to get the why of the rest of the book.
I think the Pattern Instance Notation (PIN) and the different PINboxes is a really cool way to visually represent patterns, parts of patterns, and the associated patterns.
This thought that kept coming to mind as I read this book is "this is the way I wish I would have learned this in the beginning of my career". This is a refreshing read. It makes you think in an enjoyable way and you really do learn something of value along the way.
Anyone involved with any programming language should read this book.
Elemental Design Patterns