patron observateur / MVC