2009-11-16 3 views

ответ

7

Поскольку некоторые из компонентов реализуют стратегии «способы достижения чего-то».

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

Имя не относится к шаблону в целом, оно относится к объектам внутри шаблона, которые выполняют действия.

+1

Звучит скорее как «тактика» на данный момент, нет? Разве «стратегия» не подразумевала бы более масштабную «генеральную схему» - подобную парадигму? – jldupont

+0

@jldupont: Не обвиняйте меня, я не назвал его! :-) – RichieHindle

+0

Да, но так много из них делают, например, фабрику. – Peter

7

Идея шаблона стратегии заключается в том, что «алгоритмы могут быть выбраны во время выполнения». (Википедия, Strategy Pattern). Шаблон, по сути, выбирает правильную стратегию (или поведение) для решения конкретной проблемы во время выполнения. Следовательно, это имя.

+0

Чувствует себя более подходящим, чем определение, предоставленное @RichieHindle. – jldupont

4

Верно, что все шаблоны являются «стратегиями» для дизайна приложения. Шаблон стратегии, хотя и требует сложной логики, алгоритмов и т. Д. И инкапсулирует его. Которая очищает ваш код, а также позволяет использовать различные стратегии на основе разных условий.

Ex. Я написал сложный расчет процентов для Залога, и вместо фактического расчета внутри класса обеспечения я переместил его в класс InterestCalcuation (strategy). Затем, когда они начали рассказывать мне, что расчет должен быть другим, потому что InterestCalculation придерживался интерфейса IInterestCalculation, я мог бы отключить и создать новые вычисления столько, сколько мне было нужно, и класс обеспечения не был затронут ...

Смежные вопросы