Для удобства учеников JavaRush мы решили собрать лекции и статьи о самых важных темах в программировании.
Первая подборка — о паттернах проектирования. В мини-гайде мы кратко излагаем суть статей, а если перейти по ссылке — можно подробнее ознакомиться с интересующей темой. Добавляйте подборку в закладки и возвращайтесь к ней, когда потребуется.
Лекции о главных паттернах проектирования
Синглтон — это один из самых простых шаблонов (паттернов) проектирования, который применяется к классу. Иногда говорят: "этот класс — синглтон", подразумевая, что этот класс реализует паттерн проектирования синглтон. Иногда необходимо написать класс, у которого можно будет создать только один объект. Например, класс, отвечающий за логирование или подключение к базе данных.
В этой лекции знакомимся с паттерном под названием "Адаптер". "Название у него говорящее, и ты не раз встречался с адаптерами в реальной жизни. Один из самых распространенных адаптеров — кардридеры, которыми снабжены множество компьютеров и ноутбуков", — рассказывает автор о паттерне.
Как и в предыдущих лекциях, на примере кода поясняется, как работает паттерн.
В статье рассматривают один из наиболее распространенных паттернов под названием "Стратегия". Паттерн «Стратегия» определяет семейство алгоритмов, инкапсулирует каждый из них и обеспечивает их взаимозаменяемость. Он позволяет модифицировать алгоритмы независимо от их использования на стороне клиента.
Bridge решает эту задачу путем разделения одного или нескольких классов на отдельные иерархии — абстракцию и реализацию. Изменение функционала в одной иерархии не влечет за собой изменения в другой. В статье перечисляются плюсы и минусы паттерна, где он применяется, и на практике разбирают, как он работает.
Паттерн Proxy помогает решить проблемы, связанные с контролируемым доступом к объекту. На примерах автор разбирает, в каких ситуациях может понадобиться знание этого паттерна, его преимущества и недостатки. И много полезного кода!
В этой лекции автор рассказываем о Фабрике: какую проблему решают с помощью данного шаблона, покажем пример, как Фабрика помогает открывать кофейню. А еще в этой лекции есть 5 простых шагов для создания Фабрики.
Вы узнаете, что такое фабричный метод и для решения каких задач подходит данный шаблон. Мы рассмотрим этот паттерн проектирования на практике и изучим его структуру. Шаблон проектирования фабричный метод решает проблему создания различных групп продуктов, каждая из которых обладает некоторой спецификой.
Лекцию надо читать, чтобы узнать, что такое абстрактная фабрика и какую проблему данный паттерн решает. Также в лекции показывают пример создания каркаса кроссплатформенного приложения для заказа кофе с пользовательским интерфейсом.
В качестве бонуса, в лекции спрятана пасхалка, благодаря которой вы научитесь определять имя операционной системы с помощью Java и в зависимости от результата выполнять то или иное действие.
Краткая статья по паттернам проектирования в Java. Она будет полезна тем, кто уже в теме, для повторения и обобщения. Или напротив, для тех, кто первый раз подошел к паттернам — для самого первого обзора темы, прежде, чем копнуть глубже.
В продолжении предыдущей статьи автор показывает, как использовать паттерны.
Паттерны проектирования в “вопросах и ответах на собеседованиях”
Собеседуя джунов, работодатели любят спрашивать о паттернах. Эта статья поможет подготовиться к таким вопросам. Среди прочего — в ней много другой полезной информации для технического интервью.
Весь текст посвящен разбору вопросов на собеседованиях, связанных с паттернами проектирования. Что такое паттерны, какими они бывают, зачем нужны и где применять — все есть в этой статье.
Лекции об антипаттернах
Вполне может быть, что на собеседовании вас могут спросить и об антипаттернах — злых братьях-близнецах паттернов, поэтому мы решили добавить их в эту подборку.
В этой статье разбираются антипаттерны области управления, архитектуры и проблемы разработки.
В тексте разбирают такие антипаттерны, как золотой молоток, преждевременная оптимизация, спагетти-код, магические числа. В общем, гоу читать!
Бонус
Эта книга входит в десятку самых популярных на Stackoverflow, и небезосновательно. Легкость подачи, фундаментальная тема и качественные примеры делают книгу востребованной. Среди людей, которые хотя бы минимально знакомы с серией Head First, есть немало тех, кто считает подобную литературу довольно поверхностным чтивом для новичков. Рекомендуем прочитать обзор, а может и книгу, и сделать собственные выводы.
“Рефакторинг.Гуру” посвящен темным материям программирования: рефакторингу, паттернам проектирования, принципам SOLID и другим важным темам из мира программирования. На сайте собран каталог паттернов, описана история их появления, польза и недостатки.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ