Page 148 - 4836
P. 148

У  бібліотеці  Swing  для  прив'язки  обробника  події  до
                            викликаючого  його  компоненту  використовується  патерн
                            проектування «спостерігач».
                                   За  словами  Кристофера  Олександра  «довільний
                            паттерн описує задачу, яка знову і знову виникає в нашій
                            роботі,  а  також  принцип  її  розв’язання,  причому  таким
                            чином,     щоб     цей    розв’язок    потім     можна      було
                            використовувати мільйон разі, нічого не вигадуючи заново»
                            [1].  Хоча  Олександр  мав  на  увазі  патерни, які  виникають
                            при  проектуванні  будівель  та  міст,  але  його  слова
                            правильні      щодо      патернів      об’єктно-орієнтованого
                            проектування.
                                   Патерн проектування  – це опис задачі, яка постійно
                            виникає в ході проектування об’єктно-орієнтованих програм,
                            та  принципів  їх  рішення.  Причому  цей  розв’язок  можна
                            використовувати повторно.
                                   Патерни  проектування  -  це  стандартні  прийоми
                            об'єктно-орієнтованого     програмування,      що    дозволяють
                            оптимальним  чином  впоратися  з  нетривіальними,  але  часто
                            виникаючими у програмуванні ситуації. Патерн проектування
                            описує  класи,  які  необхідно  ввести  для  розв'язання  цієї
                            ситуації  і  взаємодія  між  класами.  Зокрема,  раніше  ми
                            розглядали  патерн  проектування  «ітератор»,  що  дозволяє
                            обійти всі елементи колекції за допомогою двох найпростіших
                            методів в порядку, прихованому в самому ітераторі.
                                   Патерн  проектування  «спостерігач»  застосовується,
                            коли  один  об'єкт  повинен  сповіщати  інших  про  зміни,  які
                            відбулися  з  ним  або  зовнішніх  впливах.  Такий  об'єкт
                            називається спостережуваним, а об'єкти, які слід оповістити -
                            спостерігачами.
                                   Для  того,  щоб  подібна  взаємодія  була  можливою,
                            об'єкт-спостерігач повинен мати метод (або кілька методів) із
                            заздалегідь  визначеною  сигнатурою  (ім'ям  і  параметрами).
                            Коли  із  спостережуваним  об'єктом  відбудеться  очікувана




                                                           146
   143   144   145   146   147   148   149   150   151   152   153