J'étais en train de faire quelques recherches sur ces design pattern et je suis tombé sur ce post tres intéressant de Delprog.
Très souvent dans la conception d'une application on à tendance à gérer les acces à la base de données directement dans le controlleur. Cela pose un sérieux probleme lorsqu'il s'agit de modifier la méthode de récupération des données, ou leur structure. Pourtant, en prenant un petit moment pour comprendre ces design pattenr et les implémenter, on s'épargne en fait de longues heures de refactoring, et on assure une meilleure stabilité à ses applications.