
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.238.134.157] |
![]() |
|
Сообщ.
#1
,
|
|
|
Здравствуйте!
Посоветуйте пожалуйста удобный паттерн проектирования для моей проблемы. У класса А есть 6 членов-объектов которые время от времени оповещают класс А о том что их состояние изменилось через дергание функции делегата. Класс А в ответ на события на одном из объектов проверяет его статус и дергает методы некоторых из 6 объектов запуская в них определенные задачи. На классе А могут выполняться два сценария по выбору пользователя. У меня сейчас в ответ на любое событие из дитенка дергается большой свич в объекте А - сначала выбирается стадия текущего сценария в свиче а потом делаются нужные проверки/действия. Интуитивно понятно что большой длинный свитч - это некошерно. Хотелось бы узнать мнение опытных - как это лучше спроектировать? |
Сообщ.
#2
,
|
|
|
Зависит от сложности проверок и действий, которые происходят в свиче после выбора стадии текущего сценария. Если между ними по сути ничего общего, то ничего страшного в свиче нету, но если там переплетаются те или иные проверки и/или действия, то стоит подумать об объединении их в отдельные методы и упростить свич, однако, стоит подумать и над тем, а не усложнит ли это дальнейшую разработку, в случае, когда добавятся новые сценарии или потребуется поменять алгоритмы проверок и/или действий.
|
Сообщ.
#3
,
|
|
|
Сорри за некрофилию.
Цитата MicroHard @ Интуитивно понятно что большой длинный свитч - это некошерно. http://en.wikipedia.org/wiki/State_pattern |