freeCodeCamp/guide/russian/software-engineering/design-patterns/index.md

5.8 KiB
Raw Blame History

title localeTitle
Design Patterns Шаблоны проектирования

Шаблоны проектирования

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

Почему дизайн шаблонов?

Разработка по шаблонам проектирования имеет ряд преимуществ:

  • Легче следовать хорошим принципам программирования, таким как принципы SOLID .
  • Он уменьшает куски кода, поэтому код легче тестировать и отлаживать
  • Это помогает поддерживать слабосвязанный код, поэтому код проще повторять и обновлять для новых приложений
  • Это упрощает понимание кода, поэтому новые участники могут быстро наращивать скорость

Использование шаблонов проектирования требует некоторых компромиссов, а разработчики, новые для практики, должны помнить следующее:

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

Поддержка языков

Шаблоны проектирования возникли из мира статически типизированных языков, таких как C ++, Java и C #. Большинство ресурсов о разработке по шаблону проектирования основаны на одном из этих языков.

Тем не менее, шаблоны проектирования таковы: шаблоны. Они не являются реализациями , такими как классы или интерфейсы, и не ограничены каким-либо одним языком .

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

Пользы

Конструктивные шаблоны превосходны при решении проблем основополагающего кодирования простым и повторяемым способом. В целом они делятся на три категории:

  • Шаблоны создания описывают, как создавать новые объекты
  • Структурные шаблоны описывают, как составлять объекты из других объектов
  • Поведенческие модели описывают, как объекты общаются друг с другом

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

Дополнительная информация: