史圖釘提示您:看后求收藏(第52章 架構(gòu)新系統(tǒng),逆光:穹頂之下,史圖釘,樂可小說),接著再看更方便。
請(qǐng)關(guān)閉瀏覽器的閱讀/暢讀/小說模式并且關(guān)閉廣告屏蔽過濾功能,避免出現(xiàn)內(nèi)容無法顯示或者段落錯(cuò)亂。
正午十一點(diǎn)三十分,駐廠辦公樓的走廊準(zhǔn)時(shí)響起此起彼伏的鍵盤歸位聲。
“輪到我們這批去吃飯了,走大家拿上飯盒吃飯去” 宋哥站在白板前敲了敲手中的不銹鋼飯盒,白板上用紅筆標(biāo)注著分批次就餐時(shí)間 。
食堂位于辦公樓后側(cè)的紅磚建筑,推開門時(shí)蒸騰的熱氣裹挾著紅燒肉的香氣撲面而來。十二排長(zhǎng)條桌被金屬隔板分成規(guī)整的就餐區(qū),十張?jiān)旧妥冷佒{(lán)白格桌布,每張桌中央立著寫有編號(hào)的銅牌。李君浩注意到靠墻處的消毒柜正發(fā)出嗡鳴,墻上貼著 “光盤行動(dòng)” 標(biāo)語,角落的綠蘿垂著蔫頭耷在滅火器上。
李君浩所在的 7 號(hào)桌很快坐滿了人,大家把自帶的碗筷整齊擺放在桌角。阮星超伸長(zhǎng)脖子張望著:“怎么還不開飯啊,我都快餓扁了!” 話音剛落,就見食堂張阿姨系著碎花圍裙,和另一位師傅推著餐車走了過來。餐車上碼放著五個(gè)碩大的不銹鋼碗,蓋子掀開的瞬間,土豆燒雞塊的香氣、酸辣土豆絲的酸香、蒜蓉油麥菜的清香,還有冬瓜丸子湯的鮮香頓時(shí)彌漫開來。
“大家久等啦!” 張阿姨笑著將四菜一湯依次擺上餐桌,“這是土豆燒雞塊、酸辣土豆絲、蒜蓉油麥菜和冬瓜丸子湯,不夠吃隨時(shí)叫我!” 她又從推車上拿下三個(gè)裝有公筷的消毒盒,“每桌配了三雙公筷,大家用公筷夾菜啊,講究衛(wèi)生!”
吳經(jīng)理此時(shí)也走了過來,在主位上坐下,順手把西裝外套搭在椅背上:“聽說今天有新菜,我也來湊湊熱鬧?!?他拿起公筷,先給林夕若夾了塊雞塊,“小姑娘多吃點(diǎn)肉,看你瘦的。”
林夕若連忙道謝,耳尖泛紅:“謝謝吳總!”
“都別客氣,放開了吃!” 吳經(jīng)理一邊說,一邊給大家盛湯,“這次 pcb 計(jì)價(jià)平臺(tái)項(xiàng)目時(shí)間緊、任務(wù)重,大家辛苦了!吃飽了才有力氣干活!”
阮星超早就迫不及待,用公筷夾了個(gè)大丸子放進(jìn)碗里:“哇,這丸子看著就好吃!阿姨,明天還有什么好菜???”
“就你小子饞!” 張阿姨笑著點(diǎn)了點(diǎn)他的額頭,“明天有啤酒鴨,管夠!”
李君浩嘗了口土豆燒雞塊,肉質(zhì)鮮嫩,湯汁濃郁,忍不住贊嘆:“阿姨,這菜燒得太好吃了!”
“好吃就多吃點(diǎn)!” 張阿姨笑得眼睛瞇成了一條縫,“你們這些孩子,大老遠(yuǎn)來駐廠開發(fā),可不能虧待了自己。有什么想吃的盡管說,阿姨給你們做!”
宋哥咽下嘴里的飯菜,擦了擦嘴:“吳總,關(guān)于項(xiàng)目和工廠對(duì)接的事,您看什么時(shí)候方便?”
吳經(jīng)理放下筷子,認(rèn)真說道:“下午我就帶你們?nèi)ボ囬g,讓老師傅給你們?cè)敿?xì)講講 pcb 的工藝流程。還有那個(gè) bom 成本核算模塊,得結(jié)合實(shí)際生產(chǎn)來優(yōu)化?!?他轉(zhuǎn)頭看向褚硯兵,“小褚,聽說你技術(shù)很扎實(shí)?有什么想法盡管提,咱們一起把項(xiàng)目做好!”
駐廠辦公室的白熾燈在頭頂嗡嗡作響,李君浩擦了擦手心的汗,將投影儀遙控器握得發(fā)燙。十二張折疊椅圍成半圈,阮星超抱著筆記本電腦癱在角落,褚硯兵的筆記本已經(jīng)密密麻麻寫滿兩頁,宋哥翹著二郎腿,手里的紅塔山在煙灰缸邊緣輕輕叩擊。
“大家看這個(gè)解決方案。” 李君浩按下遙控器,大屏幕跳出分層架構(gòu)圖,不同顏色的類庫(kù)像精密齒輪咬合在一起,“咱們先從最核心的 domain 層開始?!?他用激光筆點(diǎn)向標(biāo)注著 dto 和 Entity 的模塊,“Entity 是實(shí)體類,就像 pcb 訂單,每個(gè)字段對(duì)應(yīng)數(shù)據(jù)庫(kù)表結(jié)構(gòu);dto 是數(shù)據(jù)傳輸對(duì)象,比如用戶在前臺(tái)提交的計(jì)價(jià)參數(shù),經(jīng)過 dto 封裝后再傳遞給后端,這樣能避免直接暴露敏感數(shù)據(jù)?!?
“等等!” 林夕若舉起涂著紫色美甲的手,“那 Entity 和 dto 為什么不合并?多寫一層好麻煩。”
李君浩點(diǎn)開示例代碼,光標(biāo)在屏幕上快速跳動(dòng):“舉個(gè)例子,用戶注冊(cè)時(shí)填的手機(jī)號(hào)需要脫敏處理,但數(shù)據(jù)庫(kù)存的是明文。用 dto 就能在接收數(shù)據(jù)時(shí)直接處理,而 Entity 保持純凈,只負(fù)責(zé)和數(shù)據(jù)庫(kù)交互。這就像快遞包裝,dto 是外面的紙箱,Entity 是里面的易碎品?!?
阮星超突然笑出聲:“那 dao 層就是快遞小哥?”
“差不多?!?李君浩被逗樂,切換到 dao 類庫(kù)界面,“data Access object 專門負(fù)責(zé)數(shù)據(jù)庫(kù)操作,增刪改查都封裝在這里。比如查詢訂單列表,業(yè)務(wù)層只需要調(diào)用 dao 的 GetorderList 方法,不用關(guān)心具體的 SqL 語句怎么寫?!?他調(diào)出一段 EF 代碼,“這里用了 EF 的倉(cāng)儲(chǔ)模式,以后換數(shù)據(jù)庫(kù)都不用大改代碼?!?
宋哥掐滅香煙,往前坐了坐:“業(yè)務(wù)層的業(yè)務(wù)邏輯怎么劃分?”
“看這個(gè)計(jì)價(jià)算法模塊?!?李君浩放大代碼窗口,注釋用紅色高亮標(biāo)出,“用戶提交板材尺寸、層數(shù)這些參數(shù)后,bussiness 層先驗(yàn)證數(shù)據(jù)合法性,再調(diào)用 dao 獲取工藝參數(shù),最后用計(jì)算公式生成報(bào)價(jià)。每個(gè)功能都拆分成獨(dú)立方法,比如 calculateprice、Validateparameters,方便測(cè)試和維護(hù)?!?
沈杰突然開口,手指在數(shù)位板上快速滑動(dòng):“那 mVc 控制器就是連接前后端的樞紐?”
“完全正確!” 李君浩切換到 controllers 文件夾,“前端發(fā)送的 http 請(qǐng)求都會(huì)經(jīng)過控制器。比如處理用戶登錄,Logincontroller 接收請(qǐng)求,調(diào)用業(yè)務(wù)層的驗(yàn)證方法,再把結(jié)果封裝成 Json 返回給前臺(tái)。這里用了依賴注入,解耦了控制器和具體業(yè)務(wù)類?!?
褚硯兵突然舉手,聲音有些發(fā)悶:“通用類庫(kù) 層的工具類,像日志記錄、加密算法,為什么不直接放在其他層?”
“這就是分層架構(gòu)的精髓。” 李君浩調(diào)出通用類庫(kù)層的目錄樹,“公共類庫(kù)是獨(dú)立的‘瑞士軍刀’,哪個(gè)層需要就引用。比如日志記錄,dao 層增刪數(shù)據(jù)要記日志,bussiness 層處理異常也要記,統(tǒng)一放在 m 層避免重復(fù)開發(fā)?!?他點(diǎn)開加密類的代碼,“這里的 AES 加密算法,前臺(tái)傳輸敏感數(shù)據(jù)時(shí)用,后臺(tái)保存密碼時(shí)也用。”
會(huì)議室突然陷入沉默,只有空調(diào)外機(jī)的轟鳴聲。李君浩翻到最后一頁 ppt,上面用加粗字體寫著 “高內(nèi)聚,低耦合”:“大家別被這么多層嚇到,其實(shí)就像搭積木,每個(gè)模塊只做一件事。有問題隨時(shí)問,這三天我會(huì)帶著大家把代碼擼熟?!?
“小李可以??!” 宋哥笑著鼓掌,煙頭在煙灰缸里碾出火星,“講得挺好。明天開始,按這個(gè)架構(gòu)分模塊開發(fā),遇到卡點(diǎn)隨時(shí)叫我?!?
剛吃完晚晚飯, 發(fā)現(xiàn)林夕若還趴在電腦前,\"你的飯,帶過來了 ,快吃吧,解決了沒\",李君浩把幫林夕若帶的飯遞過去!
本章未完,點(diǎn)擊下一頁繼續(xù)閱讀。
逆光:穹頂之下所有內(nèi)容均來自互聯(lián)網(wǎng),樂可小說只為原作者史圖釘?shù)男≌f進(jìn)行宣傳。歡迎各位書友支持史圖釘并收藏逆光:穹頂之下最新章節(jié)。