JavaRush /Java блог /Random UA /В закладки: добірка статей про патерни проектування - тео...

В закладки: добірка статей про патерни проектування - теорія, питання на співбесідах та огляд книги

Стаття з групи Random UA
Для зручності учнів JavaRush ми вирішабо зібрати лекції та статті про найважливіші теми у програмуванні. Перша добірка – про патерни проектування. У міні-гайді ми коротко викладаємо суть статей, а якщо перейти за посиланням — можна докладніше ознайомитися з темою, що цікавить. Додайте добірку в закладки та повертайтеся до неї, коли потрібно. В закладки: добірка статей про патерни проектування - теорія, питання на співбесідах та огляд книги - 1

Лекції про головні патерни проектування

Паттерн проектування Singleton

Сінглтон - це один із найпростіших шаблонів (патернів) проектування, який застосовується до класу. Іноді кажуть: "цей клас - синглтон", маючи на увазі, що цей клас реалізує патерн проектування синглтон. Іноді потрібно написати клас, у якого можна буде створити лише один об'єкт. Наприклад, клас, який відповідає за логування або підключення до бази даних.

Паттерн проектування "Адаптер"

У цій лекції знайомимося з патерном під назвою "Адаптер". "Назва в нього говорить, і ти не раз зустрічався з адаптерами в реальному житті. Один із найпоширеніших адаптерів - кардрідери, якими забезпечені безліч комп'ютерів і ноутбуків", - розповідає автор про патерн. Як і попередніх лекціях, з прикладу коду пояснюється, як працює патерн.

Паттерн проектування "Стратегія"

У статті розглядають один із найпоширеніших патернів під назвою "Стратегія". Паттерн «Стратегія» визначає сімейство алгоритмів, інкапсулює кожен із них та забезпечує їх взаємозамінність. Він дозволяє модифікувати алгоритми незалежно від використання на стороні клієнта.

Паттерн проектування Bridge

Bridge вирішує це завдання шляхом поділу одного або кількох класів на окремі ієрархії - абстракцію та реалізацію. Зміна функціоналу в одній ієрархії не тягне за собою зміни до іншої. У статті перераховуються плюси та мінуси патерну, де він застосовується, і на практиці розбирають, як він працює.

Паттерн проектування Proxy

Паттерн Proxy допомагає вирішити проблеми, пов'язані з контрольованим доступом до об'єкта. На прикладах автор розбирає, у яких ситуаціях може знадобитися знання цього патерну, його переваги та недоліки. І багато корисного коду!

Паттерн проектування Factory

У цій лекції автор розповідаємо про Фабрику: яку проблему вирішують за допомогою даного шаблону, покажемо приклад, як Фабрика допомагає відкривати кав'ярню. А ще у цій лекції є 5 простих кроків для створення Фабрики.

Паттерн проектування FactoryMethod

Ви дізнаєтеся, що таке фабричний метод і для вирішення яких завдань підходить цей шаблон. Ми розглянемо цей патерн проектування на практиці та вивчимо його структуру. Шаблон проектування фабричний метод вирішує проблему створення різних груп продуктів, кожна з яких має деяку специфіку.

Паттерн проектування AbstractFactory

Лекцію треба читати, щоб дізнатися, що таке абстрактна фабрика та яку проблему цей патерн вирішує. Також у лекції показують приклад створення каркаса кросплатформового додатка для замовлення кави з інтерфейсом користувача. Як бонус, у лекції захована пасхалка, завдяки якій ви навчитеся визначати ім'я операційної системи за допомогою Java та в залежності від результату виконувати ту чи іншу дію.

Паттерни проектування в Java [Частина 1]

Коротка стаття з патерн проектування в Java. Вона буде корисна тим, хто вже у темі, для повторення та узагальнення. Або навпаки, для тих, хто вперше підійшов до патернів — для першого огляду теми, перш ніж копнути глибше.

Паттерни проектування в Java [Частина 2]

Протягом попередньої статті автор показує, як використовувати патерни.

Паттерни проектування у “питаннях та відповідях на співбесідах”

Розбір запитань та відповідей із співбесід на Java-розробника. Частина 1

Співбесідуючи джунів, роботодавці люблять запитувати про патерни. Ця стаття допоможе підготуватися до таких питань. Серед іншого — багато іншої корисної інформації для технічного інтерв'ю.

Рівень 37. Відповіді на запитання до співбесіди на тему рівня

Весь текст присвячений розбору питань на співбесідах, пов'язаних із патернами проектування. Що таке патерни, якими вони бувають, навіщо потрібні та де застосовувати — все є у цій статті.

Лекції про антипатерни

Цілком можливо, що на співбесіді вас можуть запитати і про антипаттерни - злих братів-близнюків патернів, тому ми вирішабо додати їх в цю добірку.

Що таке антипатерни? Розбираємо приклади (частина 1)

У цій статті розбираються антипатерни галузі управління, архітектури та проблеми розробки.

Що таке антипатерни? Розбираємо приклади (частина 2)

У тексті розбирають такі антипатерни, як золотий молоток, передчасна оптимізація, спагетті-код, магічні числа. Загалом, гоу читати!

Бонус

Огляд книги "Паттерни проектування" (Head First Design Patterns)

Ця книга входить до десятки найпопулярніших на Stackoverflow, і небезпідставно. Легкість подачі, фундаментальна тема та якісні приклади роблять книгу затребуваною. Серед людей, які хоча б мінімально знайомі із серією Head First, є чимало тих, хто вважає подібну літературу досить поверховим чтивом для новачків. Рекомендуємо прочитати огляд, а може й книгу, та зробити власні висновки.

Корисний ресурс: Рефакторинг.Гуру

"Рефакторинг.Гуру" присвячений темним матеріям програмування: рефакторингу, патернам проектування, принципам SOLID та іншим важливим темам світу програмування. На сайті зібрано каталог патернів, описано історію їх появи, користь та недоліки.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ