Курсовые - Разработка игры Арконоид на Python

ШАБЛОНЫ ПРОЕКТИРОВАНИЯ

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

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

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

На наивысшем уровне существуют архитектурные шаблоны, они охватывают архитектуру всей программной системы.

В сравнении с полностью самостоятельным проектированием, шаблоны обладают рядом преимуществ. Основная польза от использования шаблонов состоит в снижении сложности разработки за счёт готовых абстракций для решения целого класса проблем. Шаблон даёт решению своё имя, что облегчает коммуникацию между разработчиками, позволяя ссылаться на известные шаблоны. Таким образом, за счёт шаблонов производится унификация деталей решений: модулей, элементов проекта, — снижается количество ошибок. Применение шаблонов концептуально сродни использованию готовых библиотек кода. Правильно сформулированный шаблон проектирования позволяет, отыскав удачное решение, пользоваться им снова и снова. Набор шаблонов помогает разработчику выбрать возможный, наиболее подходящий вариант проектирования.

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

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

 

Шаблоны бывают следующих видов:

  • Порождающие;
  • Структурные;
  • Поведенческие;

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

Существуют следующие порождающие шаблоны:

  • Простая фабрика (Simple Factory);
  • Фабричный метод (Factory Method);
  • Абстрактная фабрика (Abstract Factory);
  • Строитель (Builder);
  • Прототип (Prototype);
  • Одиночка (Singleton).

Структурные шаблоны — шаблоны проектирования, в которых рассматривается вопрос о том, как из классов и объектов образуются более крупные структуры.

Список структурных шаблонов проектирования:

  • Адаптер (Adapter);
  • Мост (Bridge);
  • Компоновщик (Composite);
  • Декоратор (Decorator);
  • Фасад (Facade);
  • Приспособленец (Flyweight);
  • Заместитель (Proxy).

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

Поведенческие шаблоны:

  • Цепочка обязанностей (Chain of Responsibility);
  • Команда (Command);
  • Итератор (Iterator);
  • Посредник (Mediator);
  • Хранитель (Memento);
  • Наблюдатель (Observer);
  • Посетитель (Visitor);
  • Стратегия (Strategy);
  • Состояние (State);
  • Шаблонный метод (Template Method).

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться