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

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

Что такое абстракция данных?

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

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

Что такое абстракция данных?

Ответ:

Абстракция данных – одна из самых важных особенностей ООП. Она позволяет отображать только важную информацию. Она помогает скрыть детали реализации.

Например, при использовании мобильного телефона вы знаете, как можно отправить сообщение или позвонить кому–то, но не знаете, как это происходит на самом деле.

Это и есть абстракция данных, поскольку детали реализации скрыты от пользователя.

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

Что такое абстрактный класс?

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

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

Что такое абстрактный класс?

Ответ:

Абстрактный класс – это класс, который состоит из абстрактных методов.

Что же такое абстрактный метод?

Эти методы в основном объявлены, но не определены, и если эти методы должны быть использованы позже в каком–то подклассе, то эти методы должны быть определены исключительно в подклассе.

#interview
💩7👎3🥴2👍1😐1🙈1🗿1
Вопрос с собеседования

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

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

#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%
Компоновщик