因此,当我是一名电工和程序员时,我认为我非常了解FSM设计模式。它是:责任链vs有限状态机 - 差异
- 我们已经设置了一个
Nodes
, - 每个
Node
知道,做什么,什么时候计划是在这个节点上, - 每个
Node
contains references to another chosen nodes
,什么条件下都知道,他应该继续被选中的人。 - 在
event
或after processing
节点,Node proceeds
下一个选择的节点
我想,这是很清楚的给我。虽然最近,当我实现状态机一个人告诉我,这是事实,责任位修饰链(不知道他是正确的),并且我做了什么/曾是:
- 套装的
Nodes
(这并不代表线性或树形结构) - 节点有对象,知道在此条件下,他们应该跳转到哪个节点
- 每个节点有它的自己处理的情况下(上下文的某些部分在节点之间共享)。
不幸的是,我担心,由于法律问题,我不能在这里粘贴类图。
在我们有责任,我将(据我所知)以下列方式定义的链另一方面,那就是:
- 我们已经得到了一些
ItemToProcess
接口, - 我们已经得到了一些
Node
接口, - 节点具有只有一个下一个节点的引用,
- 每个点头Ë处理
ItemToProcess
和转发处理,一到nextNode
所以据我了解:
- 我们使用
Chain Of Responsibility
,在这里我们要处理一个项目(或至少试图成为处理)各节点 - 责任链表示顺序和常数执行进程
- 我们使用
StateMachine
表示图 - 我们使用
StateMachine
执行计算,其顺序或种计算的可取决于一些事件而变化。
我想请你确认一下我对这些设计模式的理解,或者告诉我我在理解上犯的错误。
太好了,谢谢。我可以问你用什么软件绘制这些类图吗? – DawidPi
@DawidPi也许你可以问你的问题(如何在问题或答案中放置UML图?),我会回答。 – Fuhrmanator
http://meta.stackoverflow.com/questions/309523/how-one-should-add-uml-diagrams-to-the-question-or-answer – DawidPi