Шаблони програмування на прикладі java

Що таке патерн програмування?
В процесі розробки програмного забезпечення дуже часто зустрічаються одні і ті ж проблеми і завдання, дуже часто вони навіть не залежать від того, який конкретно мова програмування використовується. Для таких проблем існують відомі способи вирішення, добре зарекомендували і стали звичайними. Такі рішення та прийнято називати паттернами програмування (шаблонами проектування і т.п.). Патерн програмування - це незалежна від мови стратегія вирішення проблем при розробці засобами ООП. Якщо ви розробник, то вам слід знати назви поширених шаблонів. Вивчення паттернів допомагає обмінюватися інформацією з іншими розробниками більш ефективно за рахунок використання загальних термінів. Насправді, ви швидше за все вже знайомі з деякими шаблонами, просто, можливо, не використовуєте загальновідомі назви для цих прийомів.
Чи повинен я користуватися шаблонами проектування?
Ну, якщо ви хочете стати професійним Java-розробником, то вам слід знати принаймні популярні рішення зустрічаються проблем. Ці рішення були відточені і поліпшені досвідченими програмістами. Як тільки ви освоїте їх, ви почнете отримувати від них користь і зробите величезний стрибок на шляху становлення майстром проектування і розробки. Більш того, ви зможете використовувати ці терміни для більш ефективного спілкування з вашими колегами.
Багато програмістів з багаторічним досвідом роботи не знають патерни програмування, але як ООП-програміст, ви повинні їх добре знати, особливо це стосується новоспечених Java-програмістів. Взагалі-то, коли ви вирішуєте задачу програмування, ви користуєтеся патерном проектування. І якщо ви не знаєте патернів, то не можете використовувати зрозуміле іншим назву того прийому, яким скористалися, щоб описати його, ви також не можете вибрати більш ефективний шлях для того, щоб проконтролювати те, що створили. Вивчення того, як досвідчені програмісти вирішують завдання програмування і спроби використовувати ці знання в вашому проекті - це найкращий шлях для отримання нового досвіду і сертифікації.
Пам'ятайте - вивчення патернів змінить ваш стиль написання коду; ви не тільки будете освіченіші, ви також будете виглядати більш освіченими.
Скільки всього шаблонів програмування?
Багато. Всього налічується принаймні 250 патернів, використовуваних в світі ООП, включаючи Спагеті, який відноситься до невеликих звичкам. Широко відомі 23 паттерна програмування, і ще більше стане відомо по шляху.
Зауважте, що патерни - це не ідіоми і алгоритми і не компоненти.
Які взаємозв'язку між цими патернами?
Взагалі, щоб побудувати систему, вам може знадобитися поєднати багато патернів разом. Різні розробники можуть вирішувати одну і ту ж проблему використовуючи різні патерни. зазвичай:
- Деякі патерни природним чином підходять один до одного.
- Один патерн випливає з іншого.
- Деякі патерни схожі або альтернативні
- Нові патерни можна виявити і задокументувати
- Патерни - це не методи, які не фреймворки.
- Патерни дають вам натяк на те, як вирішити проблему ефективним способом.
породжують шаблони
Фабрика - спосіб створення об'єкта одного з декількох можливих класів, грунтуючись на представлених даних.
Абстрактна фабрика - спосіб створення набору об'єктів класів, що належать кільком родинам (інтерфейсів).
Будівельник - дозволяє зібрати складний об'єкт крок за кроком, відокремлюючи алгоритм збірки об'єкта від його уявлення.
Прототип - реалізація створення нових об'єктів через клонування об'єкта-прототипу.