作者surimodo (搖滾少女!! 活力棉花糖!!)
看板Marginalman
標題Re: [閒聊] 讓gui直接呼cli工具還是gui直接接功能好
時間Tue Apr 15 12:02:37 2025
最佳做法:GUI 直接接 Core,不是 CLI。
原因如下:
CLI 通常是為人設計的介面,它輸出文字、log、錯誤訊息,這些東西給人看沒問題,但要
給程式用就會很麻煩,要再 parse。
GUI 是給人用的圖形介面,它也需要清楚的資料結構來展示畫面、處理狀態等,如果它要跟
CLI 互動,還要「模擬打指令」、「解析 CLI 回傳的字串」,等於又多了一層耦合與維護
負擔。
Core 應該是邏輯層、功能層,不依賴輸入輸出方式。你已經這樣分好是很好的設計方向!
2. 那些老軟體(像 Git、ffmpeg)真的都是 GUI 呼 CLI 嗎?
是的,有些情況下 GUI 是呼叫 CLI,但這是因為:
這些 CLI 本身就非常穩定、有明確的 command interface。
有些 CLI 沒有 core library,或者 core 是用 C/C++ 寫的,沒有暴露給高階語言。
比如:TortoiseGit 是 GUI,但它底下就是 call Git CLI(用 Process 呼叫 git.exe 然
後 parse 結果)。
這做法是為了「相容性」與「快速集成」,但真的不太優雅。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.248.41 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1744689759.A.D0D.html
→ yam276: 要這種回答我自己問AI就好了== 04/15 12:03
推 h0103661: 靠北,gpt自己就是接api 04/15 12:03