Во время выполнения, исходя из поведения пользователя и истории, мне нужно выполнить операцию сортировки. В моем случае SortByDate/SortByDemand/SortByConsumption
просто вернет строку, или мы можем сказать order by clause (что может быть сложным).Почему не заводской шаблон для сортировки?
На большинстве форумов я нашел шаблон стратегии, который следует использовать для сортировки.
Я приложил изображение для шаблона стратегии здесь. Класс Util будет вызывать объект одного из трех классов. I. SortByDate/SortByDemand/SortByConsumption
Итак, каждый раз, когда определяется новый метод сортировки, мне нужно изменить класс util и определить новую стратегию.
Если же я реализовал его, используя завод, класс Util просто нужно позвонить на завод, и он будет заботиться о каком классе позвонить. Поэтому я думаю, что я должен использовать фабрику.
Тем не менее, я прочитал, что стратегия является наилучшим примером для таких потребностей. Почему стратегия стратегии здесь лучше?
В основном вы shouldt быть заинтересованы в том, что тип данных для снабжение класса, который обрабатывает стратегии. Вы предоставляете только данные для этого класса, и пусть этот класс реализует необходимую стратегию. В шаблоне фабрики вам нужно знать о данных и классе, который его обрабатывает. В шаблоне стратегии вам ничего не нужно знать, –