[請益] 如何選擇適合的設計模式

軟工

29182


小弟在設計系統的功能時,時常會不知該用什麼準則來判斷適合的模式

之前曾在某個網站中看到同一個問題,拿來套進 23 個模式之中
當下看完後,心想:所以大部份的問題都可以任意套用模式?

應該不是這樣子,否則四人幫就沒有必要把它們分成三大類了

那到底該如何決擇正確的模式
這個問題一直困擾著…

例如訂單依國別計算不同費用
這問題是用工廠好?還是策略好?

懇請大大們解惑

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.234.121.60 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1636039147.A.7F6.html
qwer3388591樓策略吧 為啥會用工廠? 11/04 23:26
qwer3388592樓其實很多時候不用為套而套吧會把簡單東西複雜化 11/04 23:26
WaterLengend3樓等你想怎樣寫你最好改也最能看得懂的時候,不知不 11/04 23:28
WaterLengend4樓覺就會用上了。 11/04 23:28
viper97095樓推樓上 11/04 23:30
vi0002466樓你聽過太極拳或獨孤九劍嗎 不要拘泥於招式 無招勝有招 11/04 23:34
prag2227樓我自稱DP哥 工廠模式COMBO策略模式 很常用的 11/04 23:46
devilkool8樓最好的方法就是你寫一遍 11/05 00:02
unixxxx9樓DP 是武功 SOLID 是心法 先練心法才看得懂武功 11/05 00:15
lturtsamuel10樓認真說 遇到的時候問題會告訴你該用什麼模式 不然就 11/05 00:46
lturtsamuel11樓是問題還不夠清楚 這時候最好別亂用 11/05 00:46
lturtsamuel12樓可以去看舊程式碼或開源專案 感受一下別人用設計模式 11/05 00:48
lturtsamuel13樓是在幹嘛 只看書上的其實你都感受不到那個規模 11/05 00:48
lturtsamuel14樓像 visitor pattern 就可以去看看 rust serde 函式庫 11/05 00:48
lturtsamuel15樓怎麼用的 11/05 00:48
lturtsamuel16樓濫用模式跟不用模式硬要選一個 大家應該都會選後者 11/05 00:54
t6414117樓先重構, 重構的過程有機會發現變成某幾種模式 11/05 01:35
t6414118樓的形狀 11/05 01:35
t6414119樓但如果情境單純, 也不用硬要重構或是找出什麼模式就是 11/05 01:41
umum2920樓先重構+1 如果你發現一直寫重複的代碼就是一種徵兆 11/05 01:52
umum2921樓用工廠的情況也不少 例:多個supplier的connectio量身訂作 11/05 01:55
qscesz145622樓模式是在解決你的需求 所以很常都會有一些變形或組合 11/05 02:00
qscesz145623樓依據自己經驗去設計 最後會發現你的東西就是某個模 11/05 02:00
qscesz145624樓式的樣子 11/05 02:00
peter9825樓你可以先挑一個來玩 builder最容易上手最好改 11/05 03:11
OnlyRD26樓一開始先別想太多設計模式是要慢慢修剪的 11/05 03:41
RumiManiac27樓你可以讀 Refactoring to patterns 11/05 07:24
RumiManiac28樓首先要能辨識 smells, 然後透過重構改為設計模式 11/05 07:24
RumiManiac29樓不只可以學習何時該使用設計模式,也能避免過度設計 11/05 07:26
RINPE30樓公司的東西的話 很簡單 都是看薪水給多少 11/05 07:30
更多請益
[請益] 服役期間的「讀物」
[請益] 後端作品請益
[請益] 為什麼功能很容易出現BUG?
[請益] 前端作品請益
[請益] Offer 請益(Tomofun / 街口支付)
[請益] googleplay的薪水該如何領取
[請益] 請問單打獨鬥遊戲製作的穩妥良好姿態?
[請益] 學歷或實力(作品)重要?