30
голосов
10ответов
21202 просмотров

Когда и почему следует использовать шаблон стратегии?

Когда можно использовать шаблон стратегии ? Я вижу такие фрагменты клиентского кода: class StrategyExample { public static void main(String[] args) { Context context; // Three contexts following different strategies context = new Context(new ConcreteStrateg...

24
голосов
1ответов
10237 просмотров

Шаблон стратегии и внедрение зависимостей с использованием Unity

Я наконец-то начал работать с Dependency Injection (давно назревший); Я начал играть с Unity и столкнулся с проблемой с шаблоном стратегии. Я могу использовать контейнер, чтобы вернуть мне конкретные реализации стратегии на основе имени, но я не вижу, как я должен получить правильную стратегию в...

220
голосов
18ответов
72802 просмотров

В чем разница между шаблоном разработки стратегии и шаблоном разработки состояния?

В чем разница между шаблоном проектирования "Стратегия" и шаблоном разработки "Состояние"?Я просматривал довольно много статей в Интернете, но не мог четко различить разницу. Может кто-нибудь объяснить разницу в терминах непрофессионала?

2
голосов
2ответов
1581 просмотров

Как реализовать шаблон стратегии в АОП

Кто-нибудь может сказать мне, как реализовать шаблон стратегии в АОП? Было бы очень полезно использовать пример Spring-AOP или AspectJ.

1
голосов
3ответов
2268 просмотров

C# Strategy pattern and database access

I am new to design patterns and now I want to implement the Strategy patern. Here's my code: namespace StrategyPattern { public interface ISendBehavior { void Send(); } public class SendAppointment : ISendBehavior { public void Send() { //...

1
голосов
2ответов
572 просмотров

String to Stategy in Strategy Pattern

I'm working in AS3, but I guess this could be a general question, so I'll frame it more vaguely... I'm using an XML file to define parameters for a particular class of object that implements the Strategy Pattern. There will be large variety of objects, and this works for us as a designer friendl...

21
голосов
4ответов
7645 просмотров

Difference between Strategy pattern and Delegation pattern

What is the difference between Strategy pattern and Delegation pattern (not delegates)?

0
голосов
2ответов
494 просмотров

Is it possible to use a Strategy pattern for data structure with no common ancestor?

I have two data structure classes (this is a simplified version of my code) Animal: Has one property “int Age” Person: Has one property “DateTime Birthday” What I am trying to accomplish is to compile “Uploading” (persisting to database), which is common across all different data structure...

3
голосов
1ответов
200 просмотров

Zend_Auth: why authenticate object named adapter and not strategy?

$Zend_auth->authenticate($adapter); Why is it called an adapter and not a strategy?

0
голосов
3ответов
384 просмотров

Different algorithm for different inputs

In the application I am developing I am facing a situation; I want to know if there is a design pattern for this. It's as follows User is presented on a web interface with different algorithms for a process User selection is stored in the database. Now, the application should perform computati...

2
голосов
3ответов
483 просмотров

refactor help - strategy pattern

The object here is to update the UI. I normally do this on the client however this application uses the code behind. Anyways my question is I am trying to clean up these if else statements and I thought the strategy pattern may be appropriate. I don't need everything done for me but if you could ...

6
голосов
4ответов
2126 просмотров

Шаблоны проектирования - Шаблон стратегии

Я новичок в шаблонах дизайна. Предположим, я разрабатываю приложение C # для отслеживания работ по разработке, выполняемых различными членами команды разработчиков (например, слежение за проектами). Я пытаюсь вдохновиться паттерном стратегии. Итак, я разрабатываю свои классы и интерфейс...

8
голосов
2ответов
1819 просмотров

Шаблонный метод и шаблоны проектирования стратегии

Вероятно, это вопрос новичка, поскольку я новичок в шаблонах проектирования, но я смотрел на DP метода и стратегии, и они кажутся очень похожими. Я могу читать определения, изучать UML и проверять примеры кода, но мне кажется, что шаблон стратегии просто использует шаблон метода шаблона, но вы п...

8
голосов
2ответов
4469 просмотров

Шаблон составной стратегии - java - насколько плох этот код?

Этот вопрос является продолжением моей предыдущей публикации: Реализация шаблона посетителя на java- Как это выглядит? Я немного запутался при рефакторинге кода. Я пытаюсь преобразовать свой шаблон посетителя (объясненный в предыдущем посте) в шаблон составной стратегии. Я пытаюсь сделать ч...

0
голосов
2ответов
160 просмотров

Стоимость декораторов

Для каждого продукта есть соответствующие калькуляторы стоимости, например: скидка, скидка от продавца, бонус от продавца, ежемесячная скидка и т. д. В будущем будут добавлены другие калькуляторы затрат. У нас есть конкретный класс продукта и множество декораторов для каждого расчета стоимост...

6
голосов
2ответов
2382 просмотров

Электронная почта на Java с использованием шаблона стратегии

ОБНОВЛЕНО: добавлен еще один вопрос (вопрос №4). Всем привет, Я создаю собственную утилиту для работы с электронной почтой. Теперь, чтобы соблюдать принцип единой ответственности, я хочу иметь следующие классы: MailerSender, MailProvider и EmailObject. MailSender - это больше делегат, оз...

2
голосов
3ответов
669 просмотров

Реализация паттерна стратегии

При реализации паттерна стратегии где разместить код, определяющий, какую стратегию использовать? Некоторые примеры псевдокода могут помочь.

4
голосов
4ответов
1241 просмотров

Нарушает ли модель стратегии принцип единой ответственности?

Если принцип единой ответственности гласит, что каждый объект должен иметь единственную причину для изменения, а единственный класс стратегии, реализованный с помощью шаблона стратегии (по определению), имеет несколько методов, которые могут изменяться по любому количеству причин, означает ли эт...

1
голосов
1ответов
865 просмотров

Как правильно реализовать шаблон стратегии в веб-платформе MVC?

В моем приложении Django у меня есть модель (назовем ее Foo) с полем под названием «тип». Я хотел бы использовать Foo.type, чтобы указать, к какому типу относится конкретный экземпляр Foo (возможные варианты: «Число», «Дата», «Одна строка текста», «Несколько строк текста» и некоторые другие) . ...

10
голосов
7ответов
1506 просмотров

шаблон стратегии в C #

Я изучал шаблоны проектирования Head First (только что появились недавно), читал о шаблоне стратегии, и мне пришло в голову, что это может быть отличный способ реализовать общий способ расчета налогов и т. д. на всех конкретных предметах, которые я использую на работе, но у меня возник вопрос по...

1
голосов
4ответов
619 просмотров

Реализация стратегии для конструктора

Как лучше всего реализовать стратегию для конструктора шаблона / абстрактного класса в C #? У меня есть несколько классов, все из которых основаны на разборе строки внутри конструктора. Синтаксический анализ выполняется статическим методом, который создает список пар ключ-значение и является общ...

6
голосов
9ответов
758 просмотров

Каково точное определение шаблона разработки стратегии?

Я поссорился с кем-то из-за того, что на самом деле представляет собой шаблон стратегии, и мне нужен эксперт, чтобы решить этот вопрос. Мы оба согласны с тем, что шаблон стратегии позволяет менять внутренности класса (например, поведение) во время выполнения, сохраняя при этом тот же интерфей...

164
голосов
16ответов
60420 просмотров

В чем разница между шаблонным методом и шаблонами стратегии?

Может кто-нибудь объяснить мне, в чем разница между шаблоном метода шаблона и шаблоном стратегии? Насколько я могу судить, они на 99% одинаковы, с той лишь разницей, что что шаблон метода шаблона имеет абстрактный класс в качестве базового класс, тогда как класс стратегии использует интерфейс...

0
голосов
5ответов
1372 просмотров

Класс-функтор выполняет работу в конструкторе

Я использую шаблоны C ++ для передачи функторов стратегии, чтобы изменить поведение моей функции. Работает нормально. Переданный мною функтор - это класс без сохранения состояния и без памяти, который просто перегружает оператор () классическим способом. template <typename Operation> in...

146
голосов
12ответов
53822 просмотров

В чем разница между паттернами Factory и Strategy?

Можно ли объяснить разницу между фабричным паттерном и паттерном стратегии? Для меня оба выглядят одинаково, за исключением дополнительного фабричного класса (который создает объект продукта в фабричных паттернах)

3
голосов
3ответов
2465 просмотров

Вопрос о дизайне ООП по шаблону декоратора и стратегии C #

Допустим, у вас есть базовый абстрактный класс public abstract Foo { IFlyable _fly; ISwimmable _swim; void performSwim() { _swim.swim(); } void performFly() { _fly.fly(); } } И имейте поведение / алгоритм, который у вас будет в вашей системе interface IFlyable { v...

7
голосов
5ответов
2990 просмотров

в c # в чем разница между шаблоном стратегии и делегатами?

Я смотрел примеры реализации шаблонов стратегии, и мне кажется, что они очень похожи на делегаты C #. Единственное различие, которое я вижу, заключается в том, что реализации шаблона стратегии не нуждаются в явном объявлении делегата. Но кроме этого, кажется, что оба они указывают на функции,...

115
голосов
13ответов
37528 просмотров

В чем разница между паттерном моста и паттерном стратегии?

Я пытался прочитать много статей на dofactory , в Википедии и на многих сайтах. Я понятия не имею о различиях между паттерном моста и паттерном стратегии. Я знаю, что оба они отделяют абстракцию от ее реализации и могут изменять реализацию во время выполнения. Но я все еще не знаю, в како...

3
голосов
4ответов
1504 просмотров

Может ли кто-нибудь объяснить, как паттерн стратегии соотносится с инверсией контроля?

Может ли кто-нибудь точно объяснить, как шаблон стратегии соотносится с инверсией контроля?

95
голосов
17ответов
74622 просмотров

Пример шаблона стратегии из реального мира

Я читал об принципале OCP и о том, как использовать шаблон стратегии. для этого. Я собирался попытаться объяснить это нескольким людям, но единственный пример, который я могу придумать, - это использование разных классов проверки в зависимости от того, в каком статусе находится «заказ». ...