Page 33 - 4252
P. 33

Стан (State) – Go

             Проблема            Варіювати поводження об'єкта залежно від його внутрішнього
                                 стану


             Рішення             Клас "Контекст" делегує залежать від стану запити поточному
                                 об'єкту "КонкретнийСтан" (зберігає екземпляр підкласу "Кон-
                                 кретнийСтан",  яким  визначається  поточний  стан),  і  визначає
                                 інтерфейс,  що  представляє  інтерес  для  клієнтів.  "  Конкрет-
                                 нийСтан"  реалізує  поведінку,  асоційовану  з  якимось  станом
                                 об'єкта "Контекст". "Стан" визначає інтерфейс для інкапсуля-
                                 ції поведінки, асоційованого з конкретним екземпляром "Кон-
                                 тексту".
                                 Даний патерн локалізує залежне від стану поведінку і ділить
                                 його на частини, що відповідають станам, переходи між ста-
                                 нами стають явними.


























                                                           32
   28   29   30   31   32   33   34   35   36   37   38