Главная » Delphi » Delphi 2006 – Что такое шаблоны проектирования

0

Концепция шаблонов[2] проектирования развивает один из основных принципов объектно-ориентированного программирования — повторное использование кода. Вместо того чтобы каждый раз заново проектировать схожие программные архитектуры, можно воспользоваться готовыми строительными элементами. Точно так же, как приложение складывается из компонентов: кнопок, меню, модулей связи с базами данных и ресурсами Интернета — модели тоже содержат немалое число часто повторяющихся структур. Эти структуры были выделены специалистами по программной инженерии в повторно используемые описания.

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

В шаблоне можно выделить четыре основные составляющие.

•        Имя: стандартное, предложенное автором название, отражающее предназначение шаблона. Изменению не подлежит.

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

•        Способ решения задачи. Представлен набором классов и методов, которые предназначены для ее решения.

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

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

Бобровский С. И. Технологии Delphi 2006. Новые возможности. — СПб.: Питер, 2006. — 288 е.: ил.

По теме:

  • Комментарии