Главная » Delphi » Delphi 2006 – Шаблон Template Method (Шаблонный метод)

0

Этот шаблон расширяет возможности шаблона Стратегия и отличается от него тем, что позволяет заменять не весь алгоритм целиком, а лишь отдельные его шаги (рис. 7.23).

Рис. 7.23. Шаблонный метод в Дизайнере модели

Список элементов алгоритма, подлежащих замене, задается в интерфейсе TAbstractClass:

type

TAbstractClass = class abstract public

procedure TemplateMethod;

function PrimitiveOperationl: Integer; virtual; abstract; procedure PrimitiveOperation; virtual;abstract;

end;

Процедура TemplateMethod — основной, неизменяемый алгоритм. Она составлена из последовательности вызова переопределяемых методов:

procedure TAbstractClass.TemplateMethod; begin

PrimitiveOperation();

PrimitiveOperationl(); end;

Наследуется этот класс, например, одной из возможных реализаций алгоритма.

TConcreteClass = class(TAbstractClass) public

function PrimitiveOperationl: Integer; override? procedure PrimitiveOperation? override?

end?

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

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

По теме:

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