鴛鴦鍋就是要分成涮肉區和煮湯區才符合單一職責吧?
這篇是我的 2026 年 2 月份 BlogBlog 同樂會 投稿,本月主題是「只有我這樣嗎?」。如果你有自己的部落格,歡迎一起來參加!
如果你跟我一樣想看其他朋朋的文章看到爽,可以到:BlogBlog 同樂會:只有我這樣嗎? 底下的「已經投稿的作者清單」,有各式各樣的優質文讓你三餐配飯、一次滿足。
看到這個月 BlogBlog 同樂會的主題「只有我這樣嗎?」的當下,文章主題就已經確定了。
畢竟曾經在現實生活問過一圈,完全沒有遇到過同樣做法的朋友,當時的想法就真的是「哇,不會只有我們這樣吧?」如此如此,正好寫文一篇,順便推廣推廣。
雖然很想直奔主題,但就像系統設計常說的「脫離問題脈絡、直接討論解決方案,就是耍流氓」,所以讓我們從一些背景脈絡開始聊聊吧。
首先,標題的鴛鴦鍋有一個重要的前提:吃到飽。
認識我的朋友都知道我是一個無肉不歡的人,凡是聚餐必定要大口吃肉、只要進食就一定要大口吃肉,反正就是要大口吃肉。因此我和吃到飽餐廳的關係,就像斷頭台的刀刃和路易十六的脖子,是一場命運般的奔赴:我不是正在吃到飽餐廳,就是正在前往吃到飽餐廳的路上。
而在數以百計的吃到飽餐廳種類中,火鍋又是金字塔的頂端,在煮沸的高湯涮上幾秒鐘,就有熱騰騰香噴噴的肉可以品嘗,從「肉量/每秒」為單位的進食效率來看,可以說是沒有比火鍋更方便的了。連續涮上幾片肉,裹上一些蔥蒜醬料,咬下的瞬間,肉汁和奶香味充盈鼻腔,恍惚間彷彿回到遠古時代的高原上跟野人祖先們一起撕咬獵物,這種感覺實在令人欲罷不能。
為了追求這份歡愉,我踏過了小蒙牛、新馬辣、向辣等戰場,用脂肪累積著戰士的勳章。但是,在這條偉大的火鍋征途上,仍然有一片巨大的陰影,那就是湯。
經常吃吃到飽火鍋的人都知道:只要涮的肉多了,煮到後面湯上面都有一層油,而且浮沫四溢、雜質四散,通常煮到這個程度,這鍋湯也就廢了。
原本該是火鍋主角之一的湯,就這樣淪為了龍套中的龍套,只為了把肉燙熟而服務。尤其像大學生聚餐這種眾菜拱肉的場合,更是連給旁邊火鍋料提鞋兒也不配,什麼湯頭帶來的濃厚、甘甜、溫暖和高普林,根本沒人在乎。散場的時候,也就只留下一灘陰暗扭曲的雜質鍋,跟離職前輩留下來的程式碼一樣,可以說是悲劇中的悲劇,實在令人唏噓。
但如果、如果我們既要又要--既想大口吃肉,又想大口喝湯,該怎麼辦呢?
某天,我那聰明的女友靈機一動,想出了這套計畫(註:她非常強調要在文章中註明她是發想人。這很合理,畢竟是可以匹敵諾貝爾火鍋獎的殊榮)
在提供鴛鴦鍋的吃到飽火鍋店裡,服務生會請你們選擇兩個湯底——但這其實是一個陷阱。
我們要做的就是:兩邊都選擇同一個湯底。
補充:店員可能會露出疑惑的表情,不要管他,貴在堅持。
並且在最初的點餐中,集中火力在煮湯的底料:番茄、南瓜、玉米等,確保兩邊都各有一份(畢竟肉還是要有點湯味才好吃),份量因人而異。
接著,請選定一邊作為涮肉專區,另一邊則為煮湯專區。
所謂「同樣的條件、不同的經歷,就是不同的人生」我們將在火鍋實踐這一點。顧名思義,涮肉專區將專門用來涮肉,以確保參與者每分每秒都有美味的肉可以享用。
而煮湯專區的壓力就更大了,我們需要大量加入蛤蠣、扇貝等能讓湯頭鮮甜的海鮮,並且看情況運用白菜、香菇等工具來進行調整,偶而也要加入一兩片肉來增添風味。
只要遵守這個簡單的原則:「讓涮肉的歸涮肉、讓煮湯的歸煮湯」在一段時間的熬煮後,我們就能一邊攝取足夠的肉品,一邊享用由海鮮和蔬菜煮好的湯,並在這趟肉和湯的火鍋之旅中,找到兩者之間的平衡。
而在這趟旅程的結束、吃飽喝足的時候,回頭看看同一組湯頭所煮成的兩鍋湯,那又是另一番體悟了。
讓我們回顧這個方案在系統設計層面上的取捨:首先,全面涮肉之所以會毀壞湯底,是因為涮肉的副作用太大,而食材處理區域之間又太過耦合,以至於相互影響。這是典型的技術債,是因為模組拆分不當所造成的。
因此,我們會先想到的做法就是進行隔離。但要如何隔離呢?在民明書坊的《鴛鴦鍋設計模式》提到過:常見的方案是使用「辣」與「不辣」來進行劃分。但經過測試,這並不能解決我們的問題。
幸好,單一職責原則教過我們:「每個類別應該只對一個角色/業務場景負責」我們要找到的就是場景之間的區別;而吃肉吃到飽,跟喝火鍋湯喝到中風,明顯是不同的需求場景,所以我們應該將處理肉和處理湯的模組進行隔離。
經過我們火鍋架構師團隊的一番重構,現在湯頭已經比程式碼還清晰,這篇文章的字數也水得差不多了。那麼,以上就是同時懷著「只有我這樣嗎?」和「哈!只有我這樣吧!」心情所釋出的獨門吃到飽煮鍋秘方,祝各位吃鍋順利,大吉大利!
