Точка входа в программирование
21.4K subscribers
913 photos
164 videos
1 file
2.46K links
Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Шаблоны проектирования на Java

Шаблоны проектирования (design patterns) представляют собой некоторые правила, установленные сообществом программистов. Они помогают решить общие проблемы при проектировании и разработке программ.

На GitHub есть репозиторий, в котором собрано множество design patterns, реализованных на языке Java. К каждому шаблону есть описание, а сам код хорошо прокомментирован.

Если вы ещё полноценно не освоили Java, добавьте страницу в закладки — пригодится:

https://github.com/iluwatar/java-design-patterns

#java #паттерны #алгоритмы
Паттерны проектирования

Чтобы избежать возможных проблем в архитектуре программ, разработчики придумали паттерны проектирования — концепции решения тех или иных проблем.

Этим паттерны отличаются от алгоритмов. Чтобы лучше понять разницу между понятиями, представьте алгоритмы как кулинарный рецепт с подробными шагами, а паттерн — как инженерный чертёж.

Делимся ресурсом, где подробно описаны все популярные паттерны проектирования:

https://tprg.ru/PqI3

#паттерны
Что почитать: «Head First. Паттерны проектирования»

Программисты нередко решают одинаковые задачи и приходят к схожим решениям. Чтобы не реализовывать с нуля ту или иную функциональность, разработчики прибегают к готовым паттернам (шаблонам) проектирования.

Мы недавно уже рассказывали о ресурсе, на котором собраны популярные паттерны. Сегодня хотим порекомендовать книгу «Паттерны проектирования» из серии Head First.

Как и другие книги из серии, «Паттерны проектирования» непохожа на стандартный скучный учебник по программированию. Книга написана очень простым языком и содержит большое количество иллюстраций и подробных заметок по коду.

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

Паттерны (шаблоны) проектирования призваны решить частые проблемы проектирования программ. Они не являются панацеей от всего, но в отдельных ситуациях помогают эффективнее решить проблему.

Серия статей познакомит с различными шаблонами:

1. Порождающие паттерны.
2. Структурные паттерны.
3. Поведенческие паттерны.

Кстати, все материалы по шаблонам проектирования вы можете найти по тегу #паттерны
Лекция по шаблонам проектирования и SOLID-принципам на C++

В первой части лекции объясняется, как применять шаблоны проектирования в виде базовых блоков архитектуры приложения на C++. Во второй части лектор демонстрирует практическое использование паттерна «Наблюдатель» (Observer):

https://youtu.be/ZLg13pHjbsk

#cpp #паттерны
Умеете ли вы использовать паттерны проектирования в JavaScript?

Паттерны (или шаблоны) проектирования представляют собой готовые «рецепты», которые помогают программисту решать типовые задачи.

Всего за одно видео вы познакомитесь с 17 паттернами и их примерами реализации на JavaScript:

https://youtu.be/YJVj4XNASDk

#js #веб #паттерны
Паттерны проектирования на C#

Из серии видео вы узнаете принципы популярных паттернов проектирования и их примеры реализации на .NET 6 в Visual Studio 2022:

1. Паттерн «Заместитель» (Proxy).
2. Паттерн «Стратегия» (Strategy).
3. Паттерн «Фабричный метод» (Factory method).
4. Паттерн «Строитель» (Builder).

#паттерны #csharp
Бесплатный курс по паттернам и практикам написания кода

Делимся видеокурсом от команды AvitoTech, где ребята рассказали:
— как улучшить качество кода;
— как работать с исключениями;
— про полезные архитектуры и шаблоны проектирования.

Курс преподавался в Московском авиационном институте (МАИ) и будет полезен как начинающим, так и более опытным разработчикам.

Все видео курса доступны в плейлисте на YouTube.

#курсы #паттерны
Паттерн проектирования «Декоратор» и его реализация на Java

Структурный паттерн «Декоратор» (Decorator) позволяет динамически добавлять объектам новую функциональность, и при этом не затрагиваются объекты этого же класса.

Подробнее узнать о паттерне и его возможной реализации на Java можно в статье:

https://javarush.ru/groups/posts/3833-pattern-proektirovanija-dekorator-s-primerami

#java #паттерны
Паттерн Сага: что это такое?

Многие сервисы используют собственные БД. Например, в крупных онлайн-магазинах «заказы», «пользователи» и «оплата» могут быть различными базами данных. Как же проверить прошла ли транзакция успешно или нет в таких случаях?

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

Сага похожа на работу банкомата, который возвращает ответ при ошибки операции и отменяет её, а не просто списывает деньги с баланса.

Подробнее: https://tprg.ru/0aXE

#паттерны
Паттерн Type Erasure или нестандартный полиморфизм

Type Erasure (Стирание типов) — современный паттерн, который позволяет избавиться от зависимостей и указателей при правильном применении в приложение. Как и другие паттерны, Type Erasure делает код более читаемым и улучшает производительность.

О том, как использовать данный паттерн в проекте — в статье:

https://habr.com/ru/post/706450/

#паттерны