Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save 7aitsev/b9fce7a5a19124468a872087a977d00b to your computer and use it in GitHub Desktop.
Save 7aitsev/b9fce7a5a19124468a872087a977d00b to your computer and use it in GitHub Desktop.
Реферат по русскому языку :)

Обоснованность использования паттернов проектирования

Введение

Специалисты, работающие в сфере разработки программного обеспечения, постоянно сталкиваются с одними и теми же задачами проектирования. Типичные подходы к их решению называются паттернами. Среди студентов, готовящихся стать программными инженерами, встречается мнение, будто бы паттерны, или, по-другому, шаблоны, малопригодны на практике и не представляют выгоды. Цель работы – выяснить, почему знание шаблонов проектирования позволяет разработчику сэкономить время и повысить качество его работы.

1. Предпосылки появления паттернов

Преподаватель и автор статьи «Теоретические аспекты паттерного программирования» Е. А. Крайнова отмечает, что продолжающееся развитие информационных технологий требует использования более совершенных и выразительных средств проектирования для того, чтобы разработчики максимально эффективно выполняли свою работу [2]. Известно, что большинство задач, возникающих перед специалистами при создании программных систем, почти наверняка уже решались ранее, и уже существуют хорошо продуманные элегантные решения, составленные экспертами. По мнению Мэтта Зандстра, шаблоны проектирования как раз и являются тем средством, которое помогает специалистам в целенаправленном повторном использовании успешного решения [3].

2. Развитие паттернов

В области программной разработки понятие паттернов зародилось не сразу. И Крайнова, и Зандстра справедливо заключают, что впервые идея использования шаблонов проектирования была выдвинута архитектором Кристофером Александером. Он не давал полного определения паттерна [1], смысл которого наиболее точно передан в следующих словах, относящихся к архитектурным задачам и решениям: «Каждый шаблон описывает задачу, которая возникает снова и снова, а затем описывает суть решения данной задачи, так что вы можете использовать это решение миллион раз, каждый раз делая это по‐разному» [цит. по: 3]. Паттерны достигли популярности в сфере программной инженерии после выхода в 1994 г. книги «Design Patterns — Elements of Reusable Object‐Oriented Software». Команда из четырех авторов этой книги более известна под названием «Банда четырех» (англ. Gang of Four). Об этом и в целом об возникновении паттернов в историческом контексте развития компьютерных наук исчерпывающе освещено в работе Крайновой. В настоящий момент шаблоны проектирования продолжают активно развиваться.

3. Оправданность применения паттернов

Рассмотрим, в чем заключаются преимущества шаблонов. Зандстра исходит из мысли о том, что прежде, чем начать что-либо делать, необходимо определить проблему. Знание предназначений различных шаблонов проектирования поможет увидеть и осознать распространенные задачи, с которыми хотелось бы справиться наиболее удачным образом. Шаблон проектирования, подходящий под задачу, определяет решение, с помощью которого может быть получен желаемый результат. Кроме того, шаблон реализуется в большинстве, если не во всех, языках, т. е. он не зависит от языка программирования. При этом можно быть уверенным в использовании проверенного метода в своем проекте, потому что шаблоны проверяются и тестируются членами сообщества программистов. Благодаря тому, что все шаблоны имеют свои уникальные имена и решают конкретные проблемы, они определяют словарь программистов, что обогащает процесс общения. Применение одного паттерна открывает двери к другим шаблонам, обеспечивая условия для их совместной работы. И, наконец, шаблоны способствуют хорошим проектам, ведь они реализованы с учетом принципов объектно-ориентированного программирования. Это может породить новую идею реализации объектной модели рабочего проекта.

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

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

Заключение

Таким образом, паттерны описывают успешное решение, предлагают ясный и хорошо читаемый код, предоставляют конкретное решение конкретной часто возникающей проблемы, ориентированы на практику и рассчитаны на разработчиков, так как хорошие паттерны подчеркивают сильное влияние человеческого фактора в проектировании программ. Шаблоны позволяют сократить время, которое тратится на обсуждение и принятие решения, достичь одинакового понимания дизайна решения задачи в умах всех членов команды, улучшить понимание работы сторонних инструментов и библиотек.

Список литературы

  1. Быстрова Т. Ю. Архитектура вне времени: идея шаблонов проектирования К. Александера // Академический вестник УралНИИпроект РААСН. 2011. No1. С. 41-46.
  2. Крайнова Е. А. Теоретические аспекты паттерного программирования // Вестник ВУиТ. 2013. No2[21]. С. 82-90.
  3. Мэтт Зандстра. Глава 7. Что такое шаблоны проектирования и зачем они нужны // PHP. Объекты, шаблоны и методики программирования. Вильямс, 2015. С. 141-149.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment