Understanding Gang of Four's Facade Design Pattern

TL;DR: use Facade Design Pattern to simplify usage of a complex subsystems and reduce number of dependencies your code has

During recent Design Patterns training I've attended at Inviqa (delivered by @_md) we had quite emotional discussion about differences between Facade and Adapter patterns (which are intuitively different but it was hard to understand why). This discussion led me to this blog post and I'd like to summarise our conclusions.

Read more
Share

Validating Value Objects

Previous blog post about Value Objects generated quite a lot of questions about validation in context of VO:

  • should be the VO responsible for validating its state?

  • how we should handle this validation?

  • how to interact with users?

And in this post I will try to answer these questions and show some code samples.

Read more

Scaling Symfony2 apps with RabbitMQ

Dealing with resource-consuming tasks in PHP can affect performance or even make you lose money because of poor user experience. Fortunately there are strategies for dealing with such problems and one of these is queueing.

In this session we will focus on what RabbitMQ is, how it works, how we can use it with PHP and integrate it with Symfony2 applications. After this talk you will have an idea of where you can apply queues in your system, and then make them fly and scale!

Read more
Share