Pattern Guru. Шаблоны проектирования. Архитектура ПО
Kanalga Telegram’da o‘tish
Патерны программирования. Архитектура ПО. Микросервисы @anothertechrock
Ko'proq ko'rsatish3 142
Obunachilar
Ma'lumot yo'q24 soatlar
-47 kunlar
-2430 kunlar
Postlar arxiv
Шаблон проектирования Strategy
Стратегия относится к поведенческим шаблонам проектирования. Цель этого паттерна - выделить схожие алгоритмы, решающие конкретную задачу. Реализация алгоритмов выносится в отдельные классы и предоставляется возможность выбирать алгоритмы во время выполнения программы.
Давайте рассмотрим принципы и суть шаблона Стратегия на примерах.
Читать статью
Вопрос с собеседования
Что такое DRY principles?
Ответ:
DRY, Don't repeat yourself (не повторяйся) - это принцип разработки программного обеспечения, нацеленный на снижение повторения информации различного рода, особенно в системах со множеством слоёв абстрагирования.
Простыми словами: НЕ пишите повторяющийся код, используйте принцип абстракции, обобщая простые вещи в одном месте.
#interview
Вопрос с собеседования
Что такое DRY principles?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
🔥 Научим разбираться в современных архитектурных практиках проектирования!
📌 Первые знания вы сможете получить 14 сентября в 20:00 мск на открытом уроке «Паттерны отказоустойчивости для межсервисного взаимодействия» в OTUS.
✅ На занятии за 1,5ч разберем:
✔️ Паттерны обеспечения отказоустойчивости при проектировании межсервисного взаимодействия.
✔️ Паттерны идемпотентности и коммутативности в API.
💻 Занятие проведет Стас Щетинников, архитектор систем с опытом более 6 лет, в рамках онлайн-курса «Software Architect». Курс будет полезен архитекторам, разработчикам и тимлидам.
💣 Пройдите вступительное тестирование, чтобы зарегистрироваться на вебинар
Реклама. Информация о рекламодателе на сайте www.otus.ru
Шаблон проектирования Prototype
Прототип - порождающий паттерн проектирования. Он позволяет копировать объекты, не вдаваясь в подробности их реализации.
Когда использовать Прототип?
- Когда конкретный тип создаваемого объекта должен определяться динамически во время выполнения
- Когда нежелательно создание отдельной иерархии классов фабрик для создания объектов-продуктов из параллельной иерархии классов (как это делается, например, при использовании паттерна Абстрактная фабрика)
- Когда клонирование объекта является более предпочтительным вариантом, чем его создание и инициализация с помощью конструктора. Особенно если известно, что объект может принимать небольшое ограниченное число возможных состояний.
Смотреть реализацию
Вопрос с собеседования
Каковы основные концепции ООП?
Ответ:
- Наследование
- Инкапсуляция
- Полиморфизм
- Абстракция
#interview
Вопрос с собеседования
Каковы основные концепции ООП?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
Шаблон проектирования Observer
Наблюдатель - поведенческий паттерн проектирования. Определяет зависимость типа "один ко многим" между объектами таким образом, что при изменении состояния одного объекта все зависящие от него оповещаются об этом и автоматически обновляются.
Когда применять:
- когда после изменения состояния одного объекта требуется что-то сделать в других, но вы не знаете наперёд, какие именно объекты должны отреагировать
- когда одни объекты должны наблюдать за другими, но только в определённых случаях.
Смотреть реализацию
Вопрос с собеседования
Что такое SOLID?
Ответ:
SOLID - акроним для пяти основных принципов объектно-ориентированного программирования и проектирования.
Список принципов по порядку: single responsibility, open-closed, Liskov substitution, interface segregation и dependency inversion (русск. - принципы единственной ответственности, открытости/закрытости, подстановки Барбары Лисков, разделения интерфейса и инверсии зависимостей).
Применение всех этих принципов повышает вероятность того, что систему ПО будет легко поддерживать и расширять в течение долгого времени.
Принципы SOLID могут применяться для удаления запахов кода, предписывая программисту выполнять рефакторинг исходного кода, пока тот не станет читаемым и расширяемым. Это часть общей стратегии гибкой и адаптивной разработки.
#interview
Вопрос с собеседования
Что такое SOLID?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
Структурные шаблоны проектирования простым языком
Структурные шаблоны — шаблоны проектирования, в которых рассматривается вопрос о том, как из классов и объектов образуются более крупные структуры.
В этой статье рассматриваем на примерах такие шаблоны, как адаптер, мост, компоновщик, декоратор, фасад, приспособленец, заместитель.
Читать статью
🔥 Увлекательный тест для архитекторов и разработчиков
🚀 Ответьте на 11 вопроса и проверьте, насколько вы готовы к обучению на курсе - Software Architect
📚 Овладейте самыми продвинутыми техниками построения архитектуры приложений и карьерном росте обеспечен.
🚀 На курсе разберем самые важные тактики по работе с различными атрибутами качества архитектуры, основные паттерны и стили архитектуры и проведем обзор основных технологических доменов и специфичных для них архитектур: бэкенд, BigData, мобильная разработка, фронтенд, хранилища данных.
⏰ Время прохождения теста ограниченно 30 минут
👉 ПРОЙТИ ТЕСТ https://otus.pw/C4tv/
💣 Пройдете тест и получите доступ к 2 открытым урокам курса + Welcome скидку:
✔️ Паттерны отказоустойчивости и масштабируемости микросервисной архитектуры
✔️ Паттерны отказоустойчивости для межсервисного взаимодействия
Реклама. Информация о рекламодателе на сайте www.otus.ru
Шаблон проектирования Proxy
Заместитель - структурный паттерн проектирования. Он позволяет подставлять вместо реальных объектов специальные объекты-заменители. Эти объекты перехватывают вызовы к оригинальному объекту, позволяя сделать что-то до или после передачи вызова оригиналу.
Ситуации, когда можно использовать паттерн Заместитель:
- Виртуальный proxy является заместителем объектов, создание которых обходится дорого. Реальный объект создается только при первом запросе/доступе клиента к объекту
- Удаленный proxy предоставляет локального представителя для объекта, который находится в другом адресном пространстве ("заглушки" в RPC и CORBA)
- Защитный proxy контролирует доступ к основному объекту. "Суррогатный" объект предоставляет доступ к реальному объекту, только вызывающий объект имеет соответствующие права
- Интеллектуальный proxy выполняет дополнительные действия при доступе к объекту.
Смотреть реализацию
Умение создавать отказоустойчивые и масштабируемые архитектуры — навык востребованный крупными компаниями. Он пригодится в работе разработчикам, тимлидам и архитекторам.
Начните осваивать этот навык с открытого урока «Паттерны декомпозиции системы на микросервисы» 🗓 12 сентября в 20:00 мск.
Вместе с Владиславом Родиным экспертом по Java Enterprise разработке познакомимся с паттернами декомпозиции системы на микросервисы. Рассмотрим технические и бизнесовые подходы к декомпозиции.
👉🏻 Для регистрации на урок пройдите вступительный тест!
После занятия вы сможете продолжить обучение на онлайн-курсе «Highload Architect», где вас ждут лучшие практики и решения высоких нагрузок веб-приложений.
Порождающие шаблоны проектирования простым языком
Порождающие шаблоны — шаблоны проектирования, которые абстрагируют процесс инстанцирования. Они позволяют сделать систему независимой от способа создания, композиции и представления объектов. Шаблон, порождающий классы, использует наследование, чтобы изменять наследуемый класс, а шаблон, порождающий объекты, делегирует инстанцирование другому объекту.
Обо всем этом, но простыми словами и с примерами кода - читайте в статье.
Читать статью
Шаблон проектирования Composite
Компоновщик - структурный паттерн проектирования. Он позволяет сгруппировать множество объектов в древовидную структуру, а затем работать с ней так, как будто это единичный объект.
Достоинства паттерна:
- в систему легко добавлять новые примитивные или составные объекты, так как паттерн Composite использует общий базовый класс Component
- код клиента имеет простую структуру – примитивные и составные объекты обрабатываются одинаковым образом
- паттерн позволяет легко обойти все узлы древовидной структуры
Смотреть реализацию
Вопрос с собеседования
В чем смысл ООП? Зачем применять такой подход?
Ответ:
ООП позволяет повторно использовать код. Данные и код связаны вместе с помощью инкапсуляции. ООП имеет возможности для сокрытия данных, поэтому частные данные могут храниться и сохранять конфиденциальность. Задачи могут быть разделены на различные части, что упрощает их решение. Концепция полиморфизма обеспечивает гибкость, так как одна сущность может иметь несколько форм.
#interview
⁉️Хотите освоить практический C?
🎯Начните осваивать инструментарий UNIX-разработчика на вебинаре 8 сентября в 20:00 мск.
Открытый урок «Инструментарий UNIX-разработчика : исправляем выбросы памяти в curl» проведет Андрей Кравчук, эксперт с опытом 12 лет на C и C++.
На занятии мы рассмотрим важные элементы инструментария разработчика под UNIX-подобными ОС и с их помощью продиагностируем и исправим утечку памяти в библиотеке для работы с HTTP/2 libcurl.
📚Больше интересного после вебинара будет ждать вас на онлайн-курсе «Программист С» от OTUS.
📌Для участия в вебинаре пройдите вступительное тестирование: https://otus.pw/NC6r/
Вопрос с собеседования
В чем смысл ООП? Зачем применять такой подход?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
Паттерн ООП «Хранитель»
«Хранитель» (Memento), также известный как Снимок – поведенческий паттерн проектирования. Он позволяет определять, сохранять, а также восстанавливать предыдущие состояния объектов без нарушения принципа инкапсуляции.
Давайте рассмотрим этот паттерн на примерах.
Читать статью
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
