🤮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-проектом, когда появляются первые признаки того, что текущая инфраструктура перестает справляться с нагрузкой.
Подробнее об этом читайте в статье
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
К какой группе относится паттерн проектирования "Decorator" (в соответствии с GoF)?
Anonymous Poll
37%
Структурные паттерны (structural)
44%
Паттерны поведения (behavioral)
14%
Паттерны создания объектов (creational)
6%
Паттерн не относится ни к одной из перечисленных групп
👍8
Вопросы с интервью: #interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Если у кого-то есть идеи для улучшения контента и можетt помочь в ведении канала, добавления, оформления постов за оплату - напишите @aldrson.
👍8
Шаблон проектирования Abstract Factory
Шаблон Абстрактная фабрика относится к классу порождающих паттернов. Его основное назначение - предоставить интерфейс для создания семейства взаимосвязанных объектов, не указывая конкретные классы этих объектов.
Этот шаблон стоит использовать, если:
- ваша система должна быть независимой от способа создания новых объектов
- создаваемые объекты должны использоваться вместе и быть взаимосвязанными.
Классы абстрактной фабрики часто реализуются фабричными методами,
но могут быть реализованы и с помощью паттерна Prototype.
Смотреть реализацию
Шаблон Абстрактная фабрика относится к классу порождающих паттернов. Его основное назначение - предоставить интерфейс для создания семейства взаимосвязанных объектов, не указывая конкретные классы этих объектов.
Этот шаблон стоит использовать, если:
- ваша система должна быть независимой от способа создания новых объектов
- создаваемые объекты должны использоваться вместе и быть взаимосвязанными.
Классы абстрактной фабрики часто реализуются фабричными методами,
но могут быть реализованы и с помощью паттерна Prototype.
Смотреть реализацию
👍15🔥2
Паттерн Фасад похож на паттерн ... тем, что замещает сложную подсистему и может сам её инициализировать. Но в отличие от паттерна Фасад, паттерн ... имеет тот же интерфейс, что его служебный объект, благодаря чему их можно взаимозаменять.
Anonymous Quiz
32%
адаптер
37%
декоратор
31%
заместитель
👍3
Личный опыт: два кейса миграции
Senior Software Engineer PHP рассказал, как им в компании удалось сделать реиндекс в приложении для знакомств на 25 млн. пользователей.
Статья будет интересна тем, кто работает с ElasticSearch и базами пользователей под большой нагрузкой, где очень важна актуальность информации и ее постоянное обновление.
Читать статью
Senior Software Engineer PHP рассказал, как им в компании удалось сделать реиндекс в приложении для знакомств на 25 млн. пользователей.
Статья будет интересна тем, кто работает с ElasticSearch и базами пользователей под большой нагрузкой, где очень важна актуальность информации и ее постоянное обновление.
Читать статью
Highload.tech - медіа для розробників
Как обновить данные в базе, чтобы 25 млн пользователей ничего не заметили: наш опыт
Привет! Меня зовут Андрей Годяцкий и я Senior Software Engineer PHP в украинской продуктовой IT-компании Appflame. В этой статье я хочу рассказать о двух кейсах реиндекса/ремапинга или, как принято в SQL, миграции: первый — с 20% просадкой по продуктовым…
👍5
Шаблон проектирования Mediator
Посредник относится к поведенческим паттернам. Он позволяет уменьшить связанность множества классов между собой, перемещая эти связи в один класс-посредник.
Представьте себе контроль трафика в аэропорту: все решения о том, какие самолеты могут взлетать или садиться, принимает диспетчер. Для этого все сообщения не пересылаются между самолетами напрямую, а поступают в башню управления. Такой централизованный контроллер и есть «медиатор».
Медиатор выступает в качестве посредника в общении между различными модулями, инкапсулируя их взаимодействие.
Смотреть реализацию
Посредник относится к поведенческим паттернам. Он позволяет уменьшить связанность множества классов между собой, перемещая эти связи в один класс-посредник.
Представьте себе контроль трафика в аэропорту: все решения о том, какие самолеты могут взлетать или садиться, принимает диспетчер. Для этого все сообщения не пересылаются между самолетами напрямую, а поступают в башню управления. Такой централизованный контроллер и есть «медиатор».
Медиатор выступает в качестве посредника в общении между различными модулями, инкапсулируя их взаимодействие.
Смотреть реализацию
👍18
Шаблон проектирования Flyweigth
Приспособленец (также - Легковес) - структурный паттерн проктирования. Он позволяет вместить большее количество объектов в отведенную оперативную память.
Основная идея паттерна — различие между внутренним и внешним состоянием объекта. Внешнее состояние передается клиентом, использующим приспособленца, в некотором контексте. Внутреннее состояние хранится непосредственно в приспособленце и позволяет разделять их. Под разделением понимается возможность одновременной работы нескольких клиентов с одним и тем же приспособленцем.
Смотреть реализацию
Приспособленец (также - Легковес) - структурный паттерн проктирования. Он позволяет вместить большее количество объектов в отведенную оперативную память.
Основная идея паттерна — различие между внутренним и внешним состоянием объекта. Внешнее состояние передается клиентом, использующим приспособленца, в некотором контексте. Внутреннее состояние хранится непосредственно в приспособленце и позволяет разделять их. Под разделением понимается возможность одновременной работы нескольких клиентов с одним и тем же приспособленцем.
Смотреть реализацию
👍10🔥2
Шаблон проектирования Command
Команда - один из поведенческих шаблонов, добавляющий слой абстракции между действием и объектом, который это действие вызывает. Пример - кнопка и действие, которое выполняется при нажатии на эту кнопку.
Паттерн преобразовывает запрос на выполнение действия в отдельный объект-команду.
Поскольку команды - это объекты, с ними можно проводить любые операции, которые в принципе возможны для объектов. Например, их можно передавать как аргументы при вызове методов, ставить в очередь и логировать.
Смотреть реализацию
Команда - один из поведенческих шаблонов, добавляющий слой абстракции между действием и объектом, который это действие вызывает. Пример - кнопка и действие, которое выполняется при нажатии на эту кнопку.
Паттерн преобразовывает запрос на выполнение действия в отдельный объект-команду.
Поскольку команды - это объекты, с ними можно проводить любые операции, которые в принципе возможны для объектов. Например, их можно передавать как аргументы при вызове методов, ставить в очередь и логировать.
Смотреть реализацию
👍11😁1
Шпаргалка по шаблонам проектирования
Описание 23-х шаблонов проектирования из книги "Design Patterns" от Банды четырех. Каждый пункт содержит короткое описание паттерна и UML-диаграмму.
Читать статью
Описание 23-х шаблонов проектирования из книги "Design Patterns" от Банды четырех. Каждый пункт содержит короткое описание паттерна и UML-диаграмму.
Читать статью
🔥18
Вопросы и ответы для подготовки к собеседованию
Авторская подборка ответов к вопросам, которые могут задать на собеседовании Java-разработчику.
Читать статью
Авторская подборка ответов к вопросам, которые могут задать на собеседовании Java-разработчику.
Читать статью
🔥3
Вопрос с собеседования
В чем разница между процедурным программированием и ООП?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
В чем разница между процедурным программированием и ООП?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
В чем разница между процедурным программированием и ООП?
Ответ:
Процедурное программирование:
- Основано на функциях
- Определяет данные для всей программы
- В нем нет возможности повторного использования кода
- Следует концепции нисходящего программирования
- Природа языка сложна
- Трудно изменять, расширять и поддерживать код
Объектно-ориентированное программирование:
- Основано на реальных объектах
- Инкапсулирует данные
- Обеспечивает больше возможностей для повторного использования кода
- Следует парадигме программирования «снизу вверх»
- Код менее сложен по своей природе, поэтому его легче модифицировать, расширять и поддерживать
#interview
В чем разница между процедурным программированием и ООП?
Ответ:
Процедурное программирование:
- Основано на функциях
- Определяет данные для всей программы
- В нем нет возможности повторного использования кода
- Следует концепции нисходящего программирования
- Природа языка сложна
- Трудно изменять, расширять и поддерживать код
Объектно-ориентированное программирование:
- Основано на реальных объектах
- Инкапсулирует данные
- Обеспечивает больше возможностей для повторного использования кода
- Следует парадигме программирования «снизу вверх»
- Код менее сложен по своей природе, поэтому его легче модифицировать, расширять и поддерживать
#interview
👎23👍14