Сначала определите ваш Context
- это среда, в которой вы хотите выполнить стратегию.Если это относится к вашему более раннему вопросу , я бы предположил, что Сведения о товаре относятся к этой категории и могут быть закодированы следующим образом:
<cfcomponent name="ProductDetail">
<cffunction name="getOverview" returntype="any">
<cfargument name="criteria"/>
<!--- call strategy here --->
</cffunction>
</cfcomponent>
Причина этого подхода вместо иерархии классовс наследованием, если ProductDetail в противном случае имеет поведение (то есть функции), которые являются глобальными для проблемы.
Второй шаг - определение различных стратегий, которые, по-видимому, связаны с критериями поиска.Вам может потребоваться выполнить сопоставление между продуктом и стратегией критериев, особенно если отношения между ними много-много.