相关疑难解决方法(0)

战略模式的现实世界范例

我一直在阅读有关OCP主要内容以及如何使用策略模式来实现这一目标.

我打算尝试向几个人解释这个,但我能想到的唯一例子是根据"订单"的状态使用不同的验证类.

我在线阅读了几篇文章,但这些文章通常没有描述使用该策略的真实原因,如生成报告/账单/验证等...

是否有任何现实世界的例子,您认为策略模式是常见的?

c# java design-patterns strategy-pattern

88
推荐指数
9
解决办法
7万
查看次数

如何正确使用状态模式?

我在编程经历中遇到过一些状态模式的实现,并做了一些.我已经看到它们在各种场景中使用(主要是UI和解析).麻烦的是,所有这些都在快速发展的压力下变成了难以维护和可理解的代码块.我正在考虑重构其中一个,但我在网上找不到好的资源.在线状态模型有很多简单的例子,但我需要更深入的资源.

所以我在寻找:

  • 实现状态模式时常见的陷阱示例以及如何避免它们,
  • 正确完成状态模式的真实世界示例(如在某些开源项目/框架中)
  • 我们也欢迎有关国家模式的个人经历

感谢您的时间

oop design-patterns

41
推荐指数
4
解决办法
2万
查看次数

状态机和状态模式的实现有什么区别?

我想知道状态机是否只是工作中的状态模式,或者这两者之间是否存在差异?

我发现这篇文章的标题是"状态设计模式与状态机",但在一天结束时他只说状态模式使状态机过时但后来没有描述状态机究竟是什么状态机与实施国家格局.

architecture state design-patterns state-machine

27
推荐指数
3
解决办法
1万
查看次数

责任链与有限状态机 - 差异

因此,我是一名电工和程序员,我认为我非常了解FSM设计模式.它是:

  • 我们有一套Nodes,
  • Node当程序在此节点中时,每个人都知道该做什么,
  • 每个人都Node contains references to another chosen nodes知道在什么条件下,他应该继续选择一个.
  • eventafter processing节点,Node proceeds到下一个选择的节点

我想,这对我来说很清楚.虽然最近,当我实施一台国家机器时,一个人告诉我,事实上它有点修改了责任链(不确定他是否正确),而且我做了/做了什么:

  • 一组Nodes(未表示线性或树形结构)
  • 节点有对象,知道在哪种情况下它们应该跳转到哪个节点
  • 每个节点都有自己的处理上下文(节点的某些部分在节点之间共享).

不幸的是,我担心,由于法律问题,我不允许在这里粘贴类图.


另一方面,我们有责任链,我(按照我的理解)以下列方式定义,即:

  • 我们有一些ItemToProcess接口,
  • 我们有一些Node接口,
  • Node 引用一个下一个Node,
  • 每个节点处理ItemToProcess并转发处理过的一个节点nextNode

据我所知:

  • 我们使用Chain Of Responsibility,我们想要一个被处理的项目(或至少试图要处理)的每个节点
  • 责任链表示流程的顺序和持续执行
  • 我们StateMachine用来表示图表
  • 我们StateMachine用来执行计算,计算的顺序或种类可能因某些事件异.

我想请你确认我对这些设计模式的理解,或者告诉我在理解上的错误.

design-patterns state-machine chain-of-responsibility

7
推荐指数
2
解决办法
1966
查看次数

国家格局与战略格局的区别

看看GoF模式,我发现State和Stategy模式之间的相似性相当惊人.两者都交换出多态类来修改行为.其他人发现了同样的事情?

有什么确切的区别?

oop design-patterns

4
推荐指数
1
解决办法
4563
查看次数