Здравствуйте, Злобастик, Вы писали:
З>Алгоритмы должны быть известны контроллеру (под известны я подразумеваю, что либо реализованы в нем, либо делегированы). Этот же контроллер обновляет графическое представление при изменении модели.
Бизнес-логика в контроллере?
Это что за шаблон используется
Затем чуствуется в этой логике дыра. Вы изначально используете абстракцию, но потом приводите к конкоретным реализациям.
Ну а по теме — вроде само логичное тут enum. Но я бы все же пересмотрел архитектуру.