问题标签 [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.
c# - 实施更好的策略模式
我有一个支票账户和一个储蓄账户。我正在探索如何使用 Strategy 模式来实现withdraw 方法。
目前,Checking 和 Saving 账户都继承自 Account。对于储蓄账户,提款不应导致余额低于 100 美元。使用支票账户,提款必须包含支票号码。
我对使用这种方法没有信心,因为正如您将在下面看到的那样,“otherArguments”参数在一种情况下完全没用。我拥有它的唯一原因是“展示”策略模式的使用。
(对于那些担心的人,这是学校项目的一部分,下面的所有代码都是我编写的,我很好奇是否有更好的方法来完成它)。
这是我到目前为止所做的:
objective-c - 目标 C - 策略模式?
我理解“策略模式”的概念,但我还是有点困惑。
假设我们有一个名为 的类Dog
。
Dog
has MovementBehaviour
(interface) 可以是MovementBehaviourNormal
and MovementBehaviourFast
。
MovementBehaviourNormal
并且MovementBehaviourFast
都包含一个名为move
.
问题:从方法中访问狗属性的最佳方法是move
什么?MovementBehaviour
将狗对象作为代表传递给它是一个坏主意吗?
c# - 使用工厂模式保存数据?
我已经越来越熟悉工厂模式(以及策略模式)以及该模式可以带来的巨大好处。但是,我一直在努力应对以下情况:
以前,我会做类似以下的事情,其中有一个可以构建和保存汽车的管理器类。这里没有依赖注入,实现起来很糟糕,尤其是在尝试进行单元测试时。
我现在看到了如何Factories
为我制造不同的汽车,无论是来自数据库还是其他任何地方!这很棒!所以,这是我的问题:
Q1:我的理解Factories
应该只构建对象,对吗?如果是这样,那我的第二个问题呢?
Q2:如果我遵循工厂模式来构建我的对象,我应该如何保存我的对象?是否有不同的模式,或者我没有完全理解工厂模式?
design-patterns - 策略模式和依赖注入有什么区别?
策略模式和依赖注入都允许我们在运行时设置/注入对象。策略模式和依赖注入有什么区别?
c# - Unity 解决多个类
如何让微软统一为给定的接口类型“构建”一个类列表。
非常简单的例子:
谢谢!
design-patterns - 模式策略、访问者和模板方法有什么区别?
我正在上课,我们刚刚了解了这些设计模式。但是我看不出它们之间有什么区别。它们听起来很像,在抽象类之上创建具体类。有人可以帮我消除这个疑问吗?谢谢 (:
oop - 策略模式正确吗?
我希望你能帮我解决我的问题:
我有一个班级做肥皂电话。但是,如果肥皂定义发生变化,我将不得不编写一个新类或从它继承等。所以我找到了解决方案来编写类似的东西:
好吧,代码很糟糕,我知道。然后我读到了策略模式,我想,哇,这就是我需要摆脱这个糟糕的 switch-case 的东西:
但我无法避免在我的代码中使用“ifs”或 switch case。这可能使用 OO 技术吗?
编辑:GetSoapVersion-Function 应该是静态的
design-patterns - 何时以及如何应用策略模式而不是装饰器模式?
我正在学习设计模式并尝试遵循 Go4 书。在第 179 页,在装饰器模式章节中,有一行说
“..通过将策略的数量从一个扩展到一个开放式列表,我们可以实现与递归嵌套装饰器相同的效果。”
我不太明白这个说法。
策略专注于拥有独立的算法,这些算法可以动态设置,并且不太了解它们所在的客户端。
而装饰者并不完全独立于他们所装饰的客户。事实上,它们与它们装饰的对象具有相同的超类型。
我在这里错过了一点吗?
oop - 如何在策略模式中使用外部类?
我为扑克手牌历史文件解析器(PHP 或 Java 代码)实现了一个策略模式。我在为几种策略使用的类和对象创建一个干净的 OOP 方式时遇到了问题。
在真实生活中 :
我有一个有手的类游戏
一种策略将创建一个对象 Game and the Hands
而且这种策略需要特定的游戏属性,我不能将这些属性放入手 或游戏中,尽管只有一种策略使用,而其他策略不使用。我的问题是:最好的 OOP 方式是什么?为策略创建特定的类?
这似乎是显而易见的答案,但我仍然想知道是否有更好的方法。此外,我在语义上有一个问题:我应该给我的班级起什么样的名字(HandFor...感觉不好!)。我是一个老派程序员,非常程序化,我浪费了很多时间来思考“干净的”OOP!
java - 如何用spring高效地实现一个策略模式?
我有一个使用 Spring 框架在 Java 1.5 中开发的 Web 应用程序。应用程序包含“仪表板”,它们是简单的页面,其中重新组合了一堆信息,用户可以在其中修改某些状态。经理希望我在数据库中为其中三个仪表板添加一个日志系统。每个仪表板都有不同的信息,但日志应按日期和用户登录进行跟踪。
我想做的是实现这样的策略模式:
应用上下文.xml:
因此,在这个解决方案中,我没有使用依赖注入。这样做是“正确的”(良好的做法,表现,......)吗?有没有更好的方法可以使用 DI ?
注意:我没有编写诸如构造函数和 getter/setter 之类的基本内容。