A decorator allows us to dynamically extend the behavior of a particular object at runtime, without needing to resort to unnecessary inheritance. Let me give you a demonstration.
An adapter is one of the easier design patterns to learn. The reason why is because you use them in the real world all the time! In this lesson, let's review a handful of examples to figure out how it all works.
View the source for this lesson on GitHub.
I bet you've used the template method design pattern on multiple occassions without even realizing it! This is an easy one to understand. Let's dig in.
Let's talk about the strategy design pattern and polymorphism. Like many patterns, you may find that you already use this one! You just didn't know that it had a name!
The chain of responsibility pattern is definitely an interesting one. It literally allows us to chain any number of objects, where each has the option of either handling a particular request, or deferring to the next object in the cycle.
Though certainly not for everything, you may find situations where the specification pattern can prove to be exactly what you need. In this lesson, we'll review the core concept, while using TDD and PHPUnit to drive our code.
In the previous lesson on the specification pattern, we reviewed the core fundamentals. However, we stopped just short of figuring out how to apply this concept to database queries. Let's figure that out, while, in the process, learning how to use (and test) Eloquent outside of Laravel.
View the source for this two-part series on GitHub.
The observer pattern is easily one of the most popular patterns in the bunch. And, luckily, it's one of the easier ones to comprehend. Let's review the essentials, while ultimately translating this new knowledge over to Laravel's implementation (in version 5).
Here are some additional series that may be up your alley.