Multiple choice technology programming languages

You are designing an application to be used to edit photographs. The aim of the application is to provide effects such as converting a color picture to black and white, enlarging certain areas of the print, creating a watercolor effect etc. At the moment the application is structured so that the photographic image is represented by one object, other objects represent each effect and a control object is used to co-ordinate with these objects. When the user selects the color to black and white effect it changes the state of the Color object to Black and White. This then needs to co-ordinate with the control object and apply the effect. Basically as the state of the effects objects changes it need to co-ordinate with the photographic image object.Which design pattern do you use?

  1. Chain of Responsibility

  2. Notifier

  3. Observer

  4. Mediator

Reveal answer Fill a bubble to check yourself
D Correct answer
Explanation

Mediator centralizes communication between objects, reducing direct references. The control object coordinates between image and effects objects, preventing complex interdependencies. Chain of Responsibility passes requests along a chain, while Observer notifies subscribers automatically - neither fits the coordination scenario described.