问题标签 [strategy-pattern]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
146 浏览

java - 需要策略模式帮助

那里存在interface Algorithm

存在class MathAlgorythm implements Algorithm (returns MathResult, which implements Result)

存在class ChemitryAlgorythm implements Algorithm (returns ChemitryResult, which implements Result)

此外,还有一个Context class,用于将数据传递给这些算法。数据通过以下方式传递:

假设我,executeStrategy 并回来 return MathAlgorithm.execute(data);我得到了 Result 类型的东西,对吗?

然后我再次执行 return ChemitryAlgorithm.execute(data);我得到一些结果

问题: 结果是一个接口。我需要访问作为 MathResult 或 ChemistryResult 的具体类实现。换句话说。一旦我得到结果类型的东西,我需要更深入地挖掘并知道隐藏在接口后面的类

我希望这种漫谈不会太混乱。

感谢您阅读和回复

0 投票
2 回答
2757 浏览

entity-framework - 使用纯 POCO 实体框架的存储库模式中的获取策略示例

我正在尝试使用一个简单的示例(例如用户有很多帖子)来推出具有实体框架和存储库模式的策略User模式Post

从这里的答案中,我有以下域:

添加接口以支持您将在其中使用用户的角色。

现在我的存储库如下所示:

策略(我被困的地方)。我该怎么处理这段代码?我可以举个例子来说明如何实现这个,我在哪里放这个?

我的基本问题是这个问题中的问题。我希望能够使用策略模式获得没有帖子的用户和有帖子的用户。

0 投票
2 回答
213 浏览

php - 子类可以实现接口吗?

我正在涉足更严重的 OOP(以前,只是使用继承),我偶然发现了一些让我感到困惑的事情。

我有一个处理我的数据库连接的超类。

我有一个处理与站点成员功能相关的连接的子类

我想采用策略模式来允许不同但相似的功能共存。例如:

  • 连接到数据库并检查新注册的姓名和电子邮件
  • 连接到数据库并检查用户名和确认码以进行注册确认
  • 连接到数据库并检查用户名和密码以进行登录
0 投票
3 回答
268 浏览

design-patterns - ColdFusion实施策略模式

我是 ColdFusion 的新手并使用 ColdFusion MX (7),我有兴趣实施策略模式。但我不知道开始实施的最佳方式是什么。

0 投票
6 回答
39758 浏览

java - 策略模式和命令模式的区别

策略模式命令模式有什么区别?我也在寻找 Java 中的一些示例。

0 投票
1 回答
291 浏览

c# - 一个简单的策略模式示例的问题

错误是:

FirstPattern.Character.Character' 不包含采用 0 个参数的构造函数

这是代码:

然后,我有一个字符类:

我不确定我应该对角色类和子类做什么。你们能把我推向正确的方向吗?

0 投票
3 回答
4681 浏览

design-patterns - 策略设计模式和抽象工厂模式有什么区别?

有人可以一劳永逸地向我解释这两者之间的区别,并尝试为何时使用它们提供一种指导吗?例子会非常好。

0 投票
3 回答
5133 浏览

design-patterns - Scala 中策略模式的更好替代方案?

当我使用 Java(或类似语言)进行编程时,我经常使用简单版本的策略模式,使用接口和实现类,在我的代码中为特定概念提供运行时可选择的实现。

作为一个非常人为的示例,我可能希望在我的 Java 代码中具有可以产生噪音的动物的一般概念,并且希望能够在运行时选择动物的类型。所以我会按照这些思路编写代码:

很简单。不过,最近,我一直在使用 Scala 进行一个项目,我想做同样的事情。使用特征似乎很容易做到这一点,如下所示:

然而,这看起来很像 Java 并且不是很实用——更不用说特征和接口并不是一回事。所以我想知道在我的 Scala 代码中是否有更惯用的方式来实现策略模式(或类似的东西),以便我可以在运行时选择抽象概念的具体实现。还是使用特征是实现这一目标的最佳方式?

0 投票
3 回答
1441 浏览

c# - 战略模式——正确实施

我第一次使用这种模式,并使用 C#。

我只是想检查这是正确的实现。
我在 Winform 上有一个按钮,当单击该按钮时,它将以特定格式输出一些数据,通过从下拉框中选择来定义。现在这可能会在未来发生变化,因此我使用策略模式来封装变化。

我有一个“策略接口”,它只公开一个方法:“显示数据()”。

在我的按钮上单击我使用以下代码:

这是使用此模式的可接受方式吗?显然,如果识别出额外的输出媒体,那么我将简单地创建一个新的子类并在 switch 语句中添加一个额外的“case”。

谢谢。

0 投票
6 回答
13023 浏览

design-patterns - “责任链”和“战略”模式有什么区别?

我提出这个问题是因为几天前我在这里问了另一个问题。
我必须解决一个特定问题,在收到两次回复后,我意识到两种模式可以帮助解决该问题(以及任何其他类似问题)。

  1. 责任链
  2. 战略

我的问题是:

这些模式之间究竟有什么区别?