推 ian90911: chatbot這個例子 我剛接觸時跟你一樣if else硬幹...08/30 09:59
→ ian90911: 後來是去line群或者fb社團多聊多逛 聽演講看別人都怎做08/30 09:59
→ ian90911: 也有很多業界實例介紹他們怎麼處理狀態管理的文章08/30 09:59
我也有加一些群組,偏後端開發相關的社群
裡面文章通常很多面向
我也沒有特定想到這個有解所以沒問
結果是被動才知道就覺得很糟糕
→ atgcat: 有蠻多設計模式可參考,寫起來會改成分出很多檔案,但比判08/30 10:06
→ atgcat: 斷式清楚08/30 10:06
design patterm 我有看一些,但是比較想知道找到適用框架的方法QQ
※ 編輯: paul800526 (114.136.88.204), 08/30/2018 10:16:51
推 ashlikewing: 不明白這問題為何會到框架這一層,想要消除if地獄需08/30 10:53
→ ashlikewing: 要改善的是程式架構。不調整這部分的話和你選擇那種08/30 10:53
→ ashlikewing: 框架都一樣悲劇08/30 10:53
我定義的框架是給定專案的抽象層, 使得程式開發的時候可以建立在抽象層上
避免架構雜亂, 如果以我這樣定義框架的話, 是討論框架沒錯吧?
FSM 可以在使用者走到特定狀態的時候保持固定的選擇
而不需要在全域下進行多層的邏輯判斷, 所以可以改善 chatbot 架構
我是這樣定義的
推 jack0204: 為啥不用DB?08/30 11:26
你說的是 Database 嗎? 如果是的話是說把每個使用者流程都存起來
這樣 DB query 不是很吃資源
推 senjor: 有限狀態機其實是大學的基本學科教的 08/30 11:42
→ senjor: 然後段考還會考怎麼設計有限狀態機跟去算有限狀態轉移 Q_Q 08/30 11:43
演算法有, 學的時候有用在圖學上的題目, 但是要直覺的用在程式上還是蠻難的
像是假設今天有個 NP 問題, 在程式裡面遇到了但是不知道要用哪種解法的感覺
※ 編輯: paul800526 (114.136.88.204), 08/30/2018 12:48:00
推 supernow: 語意分析去找微軟相關大廠有出api,消if else用狀態模式08/30 12:37
→ supernow: 去做 08/30 12:37
我看看!! 謝謝
※ 編輯: paul800526 (114.136.88.204), 08/30/2018 12:50:45
※ 編輯: paul800526 (114.136.88.204), 08/30/2018 12:52:00
→ paul800526: 我後來看看發現 state 是 design pattern,我錯了看起08/30 12:55
→ paul800526: 來是我功力不夠QQ08/30 12:55
推 senjor: 演算法跟其他專業的書讀法都一樣,看完一個概念最好實際08/30 13:00
→ senjor: 寫過一次,或者想個應用,這樣會比較好吸收。 08/30 13:00
好噢謝謝
推 ashlikewing: 你在說的東西明明就是軟體架構,混雜一些已學的東西08/30 13:00
→ ashlikewing: 卻沒有好好的消化理解,非常危險08/30 13:00
我好像也有感覺
推 yamakazi: 深入淺出設計模式08/30 13:12
有下載還沒看QQ
推 watashino: FSM寫過verilog就很會用了啦08/30 14:06
沒寫過
推 handsomeLin: 如果是你if else能硬幹出來的東西用DB不可能慢啦08/30 14:34
推 handsomeLin: 隨便講一個10萬筆數據好了 你只做read 50ms以下就能08/30 14:36
→ handsomeLin: 出結果了08/30 14:36
→ cphe: DB快是因為處理資料的演算法都幫你處理好了08/30 14:58
我是在想說這樣資料庫要存一堆使用者的狀態,覺得蠻奇怪的...
→ leolarrel: 如果一開始還不知道用哪種架構,那可以先硬寫,只後再重 08/30 15:52
→ leolarrel: 構 08/30 15:52
好噢謝謝
推 banana13: hash map 08/30 18:44
→ AvatarH: 抓哪一個字會是哪一個情形,使用trie(字典樹)來搜尋對應 08/31 17:06
→ AvatarH: 的動作呢?08/31 17:07
我思考一下 ,之後再來回答
※ 編輯: paul800526 (114.136.105.115), 08/31/2018 19:53:49
推 twntwn: 看open source 09/03 09:41