Page 20 - 4252
P. 20

Наприклад, патерн singletone (одиночка) може бути використаний для під-
            тримки декількох інстанцій об'єкта в одиничному екземплярі. Це завдання но-
            сить суто допоміжний характер і не може бути віднесено безпосередньо до рів-
            ня бізнес-логіки або будь-якого іншого.
                   Проте  не  варто  недооцінювати  важливість  прийняття  рішень  по  відно-
            шенню до цієї підсистемі. Від того наскільки зручними та ефективними будуть
            реалізації допоміжних патернів, залежить те, наскільки зручно буде програму-
            вати інші підсистеми, і наскільки ефективно вони будуть працювати. Код, на-
            писаний у цій підсистемі, багато в чому визначає код, який буде писати про-
            граміст, що користується цим framework'ом.

                                           МАЛЕНЬКІ БІБЛІОТЕКИ

                   Один  з  ворогів  повторного  використання  коду  -  той  факт,  що  люди  не
            складають з свого коду бібліотеки. Клас багаторазового використання може бу-
            ти похований у директорії однієї з програм і може ніколи не випробувати хви-
            люючого почуття реінкарнації в новому проекті. І тільки тому, що програміст
            не захотів винести цей клас (або класи) у бібліотеку.
                   Одна з причин трагедії: люди не люблять маленькі бібліотеки. Є в малень-
            ких бібліотеках щось таке, що люди вважають неправильним. Придушіть в собі
            це почуття. Комп'ютеру абсолютно все одно, скільки у вас бібліотек.
                   Якщо ви написали код, який можна використовувати повторно, але він не
            вписується в вашу бібліотеку, створіть нову.

                                 Тримайте свою базу бібліотек [репозиторій]
                   Більшість компаній не має ніякого поняття, який код у них є. І більшість
            програмістів до цих пір не повідомляють про те, що вони зробили і не цікав-
            ляться тим, що вже написано. Репозиторії покликані змінити ситуацію на кра-
            ще.
                   В ідеальному світі програміст міг би зайти на сайт, подивитися по катало-
            гу або пошуком знайти потрібний пакет бібліотек і закачати собі. Якщо ви мо-
            жете налагодити  таку систему, в якій програмісти на добровільній основі бу-
            дуть підтримувати базу вихідників - це прекрасно. Якщо ви заведете бібліоте-
            каря, який відстежує коефіцієнт повторного використання, то це просто розкі-
            шно.
                   Інший спосіб - автоматична генерація сховища з початкових кодів. Дося-
            гається подібний ефект через використання стандартних заголовків для класів,
            методів, бібліотек і різних підсистем. Такі заголовки служать водночас техніч-
            ним керівництвом і пунктами в списку репозиторія.

                                             Файли, що включаються
                   Можливість повторного використання існуючого коду є дуже важливим,
            тому  що  може  зберегти  час  і  гроші  і  сприяти  узгодженості.  Припустимо,  що
            сайт Web містить текстове меню, яке повторюється на кожній сторінці. Замість
            повторного кодування меню буде значно легше закодувати його один раз і ди-

                                                           19
   15   16   17   18   19   20   21   22   23   24   25