[БЕЗ_ЗВУКА] [БЕЗ_ЗВУКА] В предыдущих неделях нашего курса вы познакомились с объектно-ориентированным программированием. Также вы научились отлаживать и тестировать свои программы. В рамках этой недели мы с вами разберем такую крайне важную концепцию, как паттерны, или шаблоны проектирования. Что же такое паттерны и зачем они применяются? В ходе работы программистам часто приходится раз за разом решать очень похожие друг на друга задачи. В создании игр это может быть, например, программирование шаблонов поведения противников, в сетевых приложениях ─ ведение логов и отслеживание состояний клиентских приложений. Использование паттернов позволяет вам не «изобретать свои собственные велосипеды», а использовать качественные решения, проверенные временем. Применяя их, вы, скорее всего, сможете избежать многих ошибок, с которыми иначе вам пришлось бы столкнуться, ведь паттерны отлажены поколениями программистов, и все ошибки, которые там были, скорее всего, уже исправлены до вас. Паттернов проектирования существует великое множество. Некоторые из них, например, адаптер, о котором пойдет речь в одном из следующих видео, используются постоянно. Программисты зачастую даже не задумываются о том, что применяют какой-то там паттерн проектирования. В различных областях, в таких как трехмерная графика, обработка данных, сетевое взаимодействие, существуют специальные шаблоны, позволяющие эффективно решать задачи, специфичные для данных областей. Давайте теперь дадим строгое определение паттернов проектирования. Паттерн проектирования, или Design Pattern, ─ это повторяемая архитектурная конструкция, применяемая для решения часто встречающихся задач. Шаблоны проектирования по своей сути очень похожи на кулинарные рецепты. Они также описывают некоторый рекомендуемый способ решения какой-то стандартной задачи. Знание паттернов, умение видеть их и применять для решения конкретной задачи ─ это признак опытного программиста. Интересно, что впервые концепция паттернов была описана не в компьютерной и даже не в кулинарной литературе. Создателем паттернов считается архитектор и философ Кристофер Александер. Концепция была предложена им в книге «A Pattern Language: Towns, Buildings, Construction», опубликованной в 1977 году. Первым трудом, в котором идея паттернов проектирования была именно применена к объектно-ориентированному программированию, стала книга группы людей, известных как «банда четырех», называвшаяся «Design Patterns: Elements of Reusable Object-Oriented Software». Данная книга была опубликована в 1995 году и содержала в себе 23 паттерна проектирования. В рамках данного курса, конечно, не представляется возможным подробно объяснить все паттерны проектирования ─ их очень много, но мы попробуем с вами детально разобрать самые основные и часто встречающиеся на практике. В следующем видео будут рассмотрены классификация шаблонов проектирования и задачи, для которых они применяются. [ЗВУК] [БЕЗ_ЗВУКА]