Page 84 - 4190
P. 84

Все  це  впливає  на  декомпозицію,  причому  часто  суперечливим  чи-
            ном.  Методики  об’єктно-орієнтованого  проектування  відображають
            різні  підходи.  Можна  сформулювати  задачу  письмово,  виділити  з
            одержаної фрази іменники і дієслова, після чого утворити відповідні

            класи і операції. Інший шлях – зосередитися на відношеннях поділу
            обов’язків у системі. Можна створити модель реального світу або пе-
            ренести виявлені при аналізі об’єкти на свій дизайн. Згоди відносно,

            того який підхід буде найкращий, ніколи не буде досягнуто.
                  Багато об’єктів виникають у проекті із побудов у ході аналізу мо-
            делі. Але часто з’являються і класи, у яких немає прототипів у реаль-
            ному світі. Це можуть бути класи як низького рівня, наприклад маси-

            ви, та і високого рівня. Патерн-компанувальник вводить таку абстра-
            кцію для одноманітного трактування об’єктів, у якої немає фізичного
            аналога. Якщо дотримуватися строгого моделювання і орієнтуватися

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

                  Патерни проектування допомагають виявити не зовсім очевидні
            абстракції і об’єкти, які можуть їх використати. Наприклад, об’єктів,
            що уявляють собою процеси або алгоритми, яких немає в наявності,

            але вони є не від’ємною частиною гнучкого дизайну. Патерн страте-
            гія описує спосіб реалізації взаємозамінних сімейств алгоритмів. Па-
            терн  стану  дозволяє  представити  стан  деякої    сутності  у  вигляді
            об’єкта. Ці об’єкти рідко з’являються під час аналізу і навіть на ран-

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

                  2. Визначення ступеня деталізації об’єкта. Розміри і кількість
            об’єктів можуть сильно змінюватися. З їх допомогою можна предста-
            вити усе, починаючи з рівня апаратури і до закінчених додатків. Як
            же вирішити, що повинен являти собою об’єкт? У даному випадку і

            буде потрібний  патерн проектування. Патерн фасад показує, як пред-
            ставити у вигляді об’єкта цілі підсистеми, а патерн, що пристосову-
            ється, встановлює, як підтримати значну кількість об’єктів за високо-

            го ступеня деталізації. Інші патерни вказують шлях до поділу об’єктів
            на менші під об’єкти.
                  При оголошенні об’єктом будь-якої операції  повинні бути зада-

            ні: ім’я операції, об’єкти, що передаються як параметри, і значення,
            які повертаються, як параметри, у якості операції. Цю тріаду назива-

                                                              84
   79   80   81   82   83   84   85   86   87   88   89