Pattern Guru. Шаблоны проектирования. Архитектура ПО
5.86K subscribers
216 photos
3 videos
124 links
Патерны программирования.
Архитектура ПО.
Микросервисы

@anothertechrock
Download Telegram
Для какого из перечисленных паттернов лучше всего подходит метафора "матрешки"?
Anonymous Quiz
8%
Proxy
12%
Prototype
2%
Singleton
16%
Abstract Factory
62%
Decorator
👍9💩2😁1
Какой паттерн работы с данными обычно советуют использовать в рамках микросервисной архитектуры?
Anonymous Quiz
66%
База данных на 1 сервис
34%
1 база данных на несколько микросервисов
💩7👍6🤔1
Чат для обсуждения паттернов?
Anonymous Poll
39%
Нет
61%
Да
🤮12🔥7🤔2👎1
Друзья, напишите ваш отзыв по контенту канала, что добавить ,что исправить, что убрать? Интересно ваше мнение.

Комментарии под постом.
👍8🔥4
Какой из этих паттернов являются паттернами создания объектов?
Anonymous Quiz
89%
Abstract Factory
3%
Adapter
6%
Decorator
3%
Chain of Responsibility
👍6🔥3👎1
Что такое highload?

Highload (читается как "хайлоад", переводится как "высокая нагрузка") - понятие относительное. Оно не измеряется количеством запросов или скоростью работы сайта.

Ваш проект становится highload-проектом, когда появляются первые признаки того, что текущая инфраструктура перестает справляться с нагрузкой.

Подробнее об этом читайте в статье
👍11🥰1
Целью какого паттерна является расширение функциональности класса или же ее изменение без использования механизма наследования?
Anonymous Quiz
12%
Proxy
69%
Decorator
3%
Flyweight
16%
Composite
👍13
Что такое паттерны проектирования и какие паттерны существуют?

Паттерны проектирования - это готовые эффективные решения для задач, которые часто встречаются в практике программиста. Они не зависят от языка программирования: любой паттерн может быть реализован на любом языке.

Обычно выделяют следующие группы паттернов проектирования: порождающие, структурные, поведенческие. В этой статье вы найдете краткую информацию по паттернам из каждой группы.

Читать статью
👍19
Какой из перечисленных паттернов применяется в ситуации, когда нужно произвести некоторые действия над всеми объектами структуры в зависимости от фактического типа каждого объекта?
Anonymous Quiz
21%
Visitor
34%
Iterator
24%
Strategy
7%
State
14%
Composite
👎16👍8
Если у кого-то есть идеи для улучшения контента и можетt помочь в ведении канала, добавления, оформления постов за оплату - напишите @aldrson.
👍8
Шаблон проектирования Abstract Factory

Шаблон Абстрактная фабрика относится к классу порождающих паттернов. Его основное назначение - предоставить интерфейс для создания семейства взаимосвязанных объектов, не указывая конкретные классы этих объектов.

Этот шаблон стоит использовать, если:
- ваша система должна быть независимой от способа создания новых объектов
- создаваемые объекты должны использоваться вместе и быть взаимосвязанными.

Классы абстрактной фабрики часто реализуются фабричными методами,
но могут быть реализованы и с помощью паттерна Prototype.

Смотреть реализацию
👍15🔥2
Паттерн Фасад похож на паттерн ... тем, что замещает сложную подсистему и может сам её инициализировать. Но в отличие от паттерна Фасад, паттерн ... имеет тот же интерфейс, что его служебный объект, благодаря чему их можно взаимозаменять.
Anonymous Quiz
32%
адаптер
37%
декоратор
31%
заместитель
👍3
Личный опыт: два кейса миграции

Senior Software Engineer PHP рассказал, как им в компании удалось сделать реиндекс в приложении для знакомств на 25 млн. пользователей.

Статья будет интересна тем, кто работает с ElasticSearch и базами пользователей под большой нагрузкой, где очень важна актуальность информации и ее постоянное обновление.

Читать статью
👍5
Шаблон проектирования Mediator

Посредник относится к поведенческим паттернам. Он позволяет уменьшить связанность множества классов между собой, перемещая эти связи в один класс-посредник.

Представьте себе контроль трафика в аэропорту: все решения о том, какие самолеты могут взлетать или садиться, принимает диспетчер. Для этого все сообщения не пересылаются между самолетами напрямую, а поступают в башню управления. Такой централизованный контроллер и есть «медиатор».

Медиатор выступает в качестве посредника в общении между различными модулями, инкапсулируя их взаимодействие.

Смотреть реализацию
👍18
Шаблон проектирования Flyweigth

Приспособленец (также - Легковес) - структурный паттерн проктирования. Он позволяет вместить большее количество объектов в отведенную оперативную память.

Основная идея паттерна — различие между внутренним и внешним состоянием объекта. Внешнее состояние передается клиентом, использующим приспособленца, в некотором контексте. Внутреннее состояние хранится непосредственно в приспособленце и позволяет разделять их. Под разделением понимается возможность одновременной работы нескольких клиентов с одним и тем же приспособленцем.

Смотреть реализацию
👍10🔥2
Шаблон проектирования Command

Команда - один из поведенческих шаблонов, добавляющий слой абстракции между действием и объектом, который это действие вызывает. Пример - кнопка и действие, которое выполняется при нажатии на эту кнопку.

Паттерн преобразовывает запрос на выполнение действия в отдельный объект-команду.

Поскольку команды - это объекты, с ними можно проводить любые операции, которые в принципе возможны для объектов. Например, их можно передавать как аргументы при вызове методов, ставить в очередь и логировать.

Смотреть реализацию
👍11😁1
Шпаргалка по шаблонам проектирования

Описание 23-х шаблонов проектирования из книги "Design Patterns" от Банды четырех. Каждый пункт содержит короткое описание паттерна и UML-диаграмму.

Читать статью
🔥18
Вопросы и ответы для подготовки к собеседованию

Авторская подборка ответов к вопросам, которые могут задать на собеседовании Java-разработчику.

Читать статью
🔥3
Вопрос с собеседования

В чем разница между процедурным программированием и ООП?

Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!

#interview