因此,當我是一名電工和程序員時,我認爲我非常瞭解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