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

@anothertechrock
Download Telegram
Вопрос с собеседования

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

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

#interview
Вопрос с собеседования

Проведите различие между абстракцией данных и инкапсуляцией

Ответ:

Абстракция:

- Решает проблему на уровне проектирования.
- Помогает скрыть детали реализации.

Инкапсуляция:

- Решает проблему на уровне реализации.
- Обертывает код и данные в единое целое и помогает скрыть их от посторонних глаз.

#interview
1👎1
Вопрос с собеседования

Назовите поведенческие шаблоны и кратко опишите их.

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

#interview
👍3
Вопрос с собеседования

Назовите поведенческие шаблоны и кратко опишите их.

Ответ:

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

К поведенческим шаблонам относятся:

- Chain of Responsibility (Цепочка Обязанностей) - организует независимую от объекта-отправителя цепочку не знающих возможностей друг друга объектов-получателей, которые передают запрос друг другу (object that can fulfill a request);
- Command (Команда) - используется для определения по некоторому признаку объекта конкретного класса, которому будет передан запрос для обработки (when and how a request is fulfilled);
- Iterator (Итератор) - позволяет последовательно обойти все элементы коллекции или другого составного объекта, не зная деталей внутреннего представления данных (how an aggregate's elements are accessed, traversed);
- Mediator (Посредник) - позволяет снизить число связей между классами при большом их количестве, выделяя один класс, знающий все о методах других классов (how and which objects interact with each other);
- Memento (Хранитель) - сохраняет текущее состояние объекта для дальнейшего восстановления (what private information is stored outside an object, and when);
- Observer (Наблюдатель) - позволяет при зависимости между объектами типа «один ко многим» отслеживать изменения объекта (number of objects that depend on another object; how the dependent objects stay up to date);
- State (Состояние) - позволяет объекту изменять свое поведение за счет изменения внутреннего объекта состояния (states of an object);
- Strategy (Стратегия) - задает набор алгоритмов с возможностью выбора одного из классов для выполнения конкретной задачи во время создания объекта (an algorithm);
- Template Method (Шаблонный Метод) - создает родительский класс, использующий несколько методов, реализация которых возложена на производные классы (steps of an algorithm);
- Visitor (Посетитель) - представляет операцию в одном или нескольких связанных классах некоторой структуры, которую вызывает специфичный для каждого такого класса метод в другом классе (operations that can be applied to object(s) without changing their class(es));
- Interpreter (Интерпретатор) - для определенного способа представления информации определяет правила (grammar and interpretation of a language).

#interview
👍1
Этот паттерн определяет основу алгоритма и позволяет подклассам переопределять некоторые шаги алгоритма, не изменяя его структуры в целом.
Anonymous Quiz
17%
Adapter
38%
Strategy
36%
Template Method
1%
Singleton
8%
Factory Method
👍3
TypeScript: паттерны проектирования

Читать
Почему я использую паттерн "Шина событий" в проде

Всем привет!
Автор видео рассказывает о паттерне шина событий. Если вы с ним не знакомы то за 9 минут вы поймете что это и для чего нужно, а если знакомы то узнаете какие нюансы есть при работе с этим паттерном и на что стоит обратить внимание при проектировании приложений.

Смотреть видео
Благодаря совместному использованию, поддерживает эффективную работу с большим количеством объектов. О каком паттерне идёт речь?
Anonymous Quiz
30%
Фабричный метод
33%
Фасад
33%
Приспособленец
5%
Одиночка
Друзья, кто может помочь улучшить контент и разнообразить его - напишите в комментариях ваши идеи. Будем МЕГО благодарны.
Разделяет создание сложного объекта и инициализацию его состояния так, что одинаковый процесс построения может создать объекты с разным состоянием. О каком паттерне идёт речь?
Anonymous Quiz
59%
Строитель
13%
Адаптер
4%
Мост
24%
Компоновщик
Practical Design Patterns for Java
Developers

Автор:
Bruno Souza
Год издания: 2023

#java #en

Скачать книгу
Помещает объекты в древовидную структуру, представляя их в виде иерархии. Позволяет клиенту одинаково обращаться как к отдельному объекту, так и к целому поддереву. О каком паттерне идёт речь?
Anonymous Quiz
10%
Строитель
76%
Компоновщик
7%
Адаптер
7%
Мост
К какому из видов относится шаблон «Прототип»?
Anonymous Quiz
57%
Порождающие
23%
Структурные
8%
Базовые
12%
Поведенческие
👍3
Определяет несколько видов объектов, чтобы при создании использовать объект-макет и создаёт новые объекты, копируя макет. О каком паттерне идёт речь?
Anonymous Quiz
71%
Прототип
4%
Интерпретатор
22%
Строитель
3%
Итератор