Page 102 - 4190
P. 102

нюються один з одним;
                  5) потрібно розібратися з причинами, які викликають перепрое-
            ктування.  Перелік причин наведено вище. Можливо, серед них вка-
            зується вибрана проблема. Потім необхідно вивчити патерни, які до-

            поможуть усунути цю причину;
                  6) необхідно вияснити, що в дизайні повинно бути змінним. Такий
            підхід  протилежний  дослідженню  причин,  що  викликають  необхід-

            ність  перепроектування.  Крім  того  слід  передбачити,  що  могло  б
            примусити змінити дизайн, а також, що можна змінити без перепрое-
            ктування. Акцент тут робиться на інкапсуляції сутностей, шо підля-
            гають зміна, а предмет багатьох патернів. У таблиці 9.1. перелічені ті

            аспекти, дизайну, які різні патерни дозволяють змінювати незалежно,
            усуваючи тим самим необхідність у перепроектуванні.
                  Як  користуватися  патерном  проектування.  Розглянемо  пере-

            лік кроків, які можуть допомогти ефективно застосовувати патерни:
                  1. Ознайомитися з описом патерна, щоб отримати про нього за-
            гальне уявлення. Переконатися, що вибраний патерн дійсно підходить

            до вирішення вказаної задачі.
                  2. Вивчіть структуру, учасників і відношення в патерні. Переко-
            найтеся, що розумієте згадані в патерні класи і об’єкти, а також те, як

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

                  4. Вибрати для учасників патерна потрібні імена. Імена учасни-
            ків патерну, як правило, досить абстрактні, щоб їх можна було безпо-
            середньо використати в коді. Але буває корисним включити ім’я уча-

            сника як ім’я в програмі.  Це допомагає зробити патерн більш очеви-
            дним при реалізації. Наприклад, якщо використовувати патерн стра-
            тегія  в  алгоритмі  розміщення  тексту,  то  класи  могли  б  називатися
            SimpleLayoutStrategy або TeXLayoutStrategy

                  5. Визначити класи. Оголосити їх інтерфейси, встановити відно-
            шення  успадкування  і  визначити  змінні  екземпляру,  якими  будуть
            представлені дані об’єкти і посилання на інші об’єкти. Виявити кла-

            си, що є в додатку, на які патерн впливає, і відповідним чином моди-
            фікуйте їх.





                                                             102
   97   98   99   100   101   102   103   104   105   106   107