Afin d'animer la lumière lors d'un spectacle, on utilise une console permettant d'allumer ou d'éteindre des lumières ou des appareils (comme une machine à fumée). La mémorisation de séquences d'allumage ou d'extinction est importante au dynamisme du spectacle. Modélisez donc la possibilité pour une console de lumière d'enchaîner des actions sur des lumières ou une machine à fumée.
A classical instantiation of the pattern.
This solution grants all the management to the System class but separates the real operation in different classes. So, the solution is valid, but imposes a lot of communications between the System class and the operations classes. Moreover, System does not memorize the operation but an identifier from OperationType. So, the System class must test all the identifiers during the computeOperation that is problematic if there are a lot of operations.
Cliquez ici pour voir le patron abîmé déduit de cette solution alternative