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

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

В чем разница между классом и структурой?

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

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

В чем разница между классом и структурой?

Ответ:

Класс – это определенный пользователем чертеж, на основе которого создаются объекты. Он состоит из методов (набор инструкций), которые выполняются над объектами.

Структура – это определенная пользователем коллекция переменных. Структуры также являются различными типами данных.

#interview
🤮5
Какой паттерн предоставляет интерфейс для создания семейств, связанных между собой, или независимых объектов, конкретные классы которых неизвестны?
Anonymous Quiz
21%
Bridge (мост)
72%
Abstract Factory (абстрактная фабрика)
6%
Decorator (декоратор)
1%
Посмотреть результаты
Какой паттерн предоставляет унифицированный интерфейс к множеству интерфейсов в некоторой подсистеме и определяет интерфейс более высокого уровня, облегчающий работу с подсистемой?
Anonymous Quiz
5%
Builder (строитель)
12%
Composite (компоновщик)
81%
Facade (фасад)
2%
Посмотреть результаты
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Топ-9 паттернов для обмена данными и взаимодействия между компонентами/сервисами в распределенных системах

🔹 Peer-to-Peer
🔹 API Gateway
🔹 Pub-Sub
🔹 Request-Response
🔹 Event Sourcing
🔹 ETL
🔹 Batching
🔹 Streaming Processing
🔹 Orchestration

👉 Источник

#инфографика
👍5🤬1
⚛️ 6 самых важных шаблонов проектирования в React

Правильное использование паттернов проектирования — ключ к созданию надежных, эффективных и масштабируемых React-приложений. Рассказываем о шаблонах, которые стоит освоить в первую очередь.

👉 Читать статью
👉 Зеркало
🤡1
🔥 6 архитектурных паттернов: на заметку разработчику

☑️ Layered
☑️ Microservices
☑️ Event-Driven
☑️ Client-Server
☑️ Plugin-based
☑️ Hexagonal

👉 Источник
👍7
📚 Топ-10 книг для разраба

◾️ Общие рекомендации
▫️ The Pragmatic Programmer, Andrew Hunt и David Thomas
▫️ Code Complete, Steve McConnell

◾️ Разработка
▫️ Clean Code, Robert C. Martin
▫️ Refactoring, Martin Fowler

◾️ Архитектура
▫️ Designing Data-Intensive Applications, Martin Kleppmann
▫️ System Design Interview, Alex Xu

◾️ Паттерны проектирования
▫️ Design Patterns, Eric Gamma и другие
▫️ Domain-Driven Design, Eric Evans

◾️ Структуры данных и алгоритмы
▫️ Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, и Clifford Stein
▫️ Cracking the Coding Interview, Gayle Laakmann McDowell

В комментарии кидайте свою любимую книгу, которая повлияла на вас как на разработчика👇

🔗 Источник
👍3
Паттерны

В одном репозитории собрано 111 паттернов проектирования. На данный момент это самый популярный репозиторий на языке Java, у него почти 50k звёзд.

Для каждого паттерна есть подробное описание и примеры реализации на Java: https://github.com/iluwatar/java-design-patterns

#паттерны #java
Шаблоны проектирования простым языком

В этой серии статей читайте о разных видах паттернов. Каждый паттерн объясняется простыми словами, приводится пример из жизни, кейсы для уместного использования и, конечно, код.

Порождающие: https://tprg.ru/patterns-1
Структурные: https://tprg.ru/patterns-2
Поведенческие: https://tprg.ru/patterns-3

#паттерны
This media is not supported in your browser
VIEW IN TELEGRAM
Паттерны ООП — это методики, позволяющие эффективно решать определенные проблемы в определенных ситуациях

В этой статье разобрали паттерн, называемый «Хранитель». Он позволяет определять, сохранять и восстанавливать предыдущие состояния объектов без нарушения принципа инкапсуляции:

https://tprg.ru/Ep8H

#ооп #паттерны
1👌1
Что почитать на выходных: «Паттерны программирования игр» Роберта Нистрема

Автор — программист из Electronic Arts. В своей книге он собрал действенные советы про разрастание кода, оптимизацию и построение надёжной архитектуры.

Каждая глава — набор эффективных паттернов программирования. И их можно использовать как в готовом виде, так и улучшать/комбинировать на свой лад для собственной игры.

#gamedev #книги
💩1
#вопрос_для_самопроверки

Паттерн ___ предоставляет интерфейс для создания семейств, связанных между собой, или независимых объектов, конкретные классы которых неизвестны.
Anonymous Quiz
15%
Bridge (мост)
10%
Builder (строитель)
74%
Abstract Factory (абстрактная фабрика)
1%
Посмотреть результаты
👌31
Это точно поможет тебе в проектировании API

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

6 самых популярных стилей архитектуры API: которые вам нужно знать (с плюсами, минусами и примерами использования)

Проектирование REST API: спорные вопросы с проектов и собеседований на системного аналитика (и не только)

Руководство по проектированию сетевых API от Google: Его использовали внутри компании с 2014 года, и оно служит основой при разработке облачных и других API.

— Книга «Паттерны проектирования API: Сотрудник того же Google Джей Гивакс рассказывает о том, как в компании создают масштабируемые и гибкие сервисы. Вы узнаете, как улучшить дизайн самых распространённых API и как действовать в сложных пограничных случаях. Сопровождается иллюстрациями и примеры кода.

С вас лойс 👍

#api
This media is not supported in your browser
VIEW IN TELEGRAM
🔥8😁2👍1
#вопросы_для_самопроверки

Какой паттерн определяет скелет алгоритма, перекладывая ответственность за некоторые его шаги на подклассы, и позволяет подклассам переопределять шаги алгоритма, не меняя его общей структуры?
Anonymous Quiz
8%
Visitor (посетитель)
45%
Template Method (шаблонный метод)
8%
State (состояние)
35%
Prototype (прототип)
5%
Посмотреть результаты
Old but gold: подборка статей, которые простым языком объяснят 3 вида паттернов

С примерами из жизни, кейсами для использования и кодом.

Порождающие: https://tprg.ru/patterns-1
Структурные: https://tprg.ru/patterns-2
Поведенческие: https://tprg.ru/patterns-3

#паттерны
😁4
#вопросы_для_самопроверки

Какой паттерн определяет между объектами зависимость типа один-ко-многим, так что при изменении состояния одного объекта все зависящие от него получают извещение и автоматически обновляются.
Anonymous Quiz
18%
Prototype (прототип)
78%
Observer (наблюдатель)
3%
Singleton (одиночка)
1%
Посмотреть результаты
Какой паттерн использует разделение для эффективной поддержки большого числа мелких объектов?
Anonymous Quiz
50%
Flyweight (приспособленец)
30%
Memento (хранитель)
14%
Interpreter (интерпретатор)
6%
Посмотреть результаты
Что почитать программисту: «Паттерны объектно-ориентированного проектирования»

Изначально паттерны появились потому, что разработчики искали пути повышения гибкости и степени повторного использования своих программ. В книге максимально простым и доступным языком дают принципы использования шаблонов проектирования для вашего кода.

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

#книги #ооп #паттерны
👍2