前幾天寫了3篇深入淺出SpringMVC(小白篇)弓柱,組內(nèi)員工看了表示內(nèi)容過細堪簿,不好理解好芭,所以增加這個小小白篇,希望能幫助更好的理解小白篇的內(nèi)容邻耕。
我們從一家叫春天飯店的故事開始鸥咖,飯店老板叫小白。
一兄世、靜態(tài)時代(原始時代)
一開始春天飯店只是路邊攤啼辣,只提供熱干面,涼皮兩款產(chǎn)品御滩。小白是老板也是唯一員工鸥拧,既當廚師,又采購削解、接待客戶富弦、擺桌子、打掃衛(wèi)生氛驮、搞電燈(晚上)腕柜、撐打傘(下雨)等。還好客戶矫废、產(chǎn)品不多盏缤,勉強能應(yīng)付。
這個時候服務(wù)端編程也差不多蓖扑,服務(wù)端程序就是春天飯店唉铜,網(wǎng)頁相當于涼皮和熱干面,服務(wù)端編程就相當于經(jīng)營春天飯店律杠。如下圖
靜態(tài)網(wǎng)頁時代
二潭流、動態(tài)時代
客戶個性要求越來越多竞惋,可能要求有小辣,中辣灰嫉,變態(tài)辣等拆宛,有些還不要香菜。小白忙不過來了熬甫,到新洲永旺里面美食廣場租了個店胰挑,把電燈蔓罚、打掃衛(wèi)生椿肩,擺桌子這些雜事交給廣場物業(yè)搞,自己安心解決好客戶個性需求豺谈。另外為做的快郑象,得將食材分門別類放好在一個地方。
用戶對服務(wù)端的個性要求越來越多茬末,如有注冊厂榛,登錄,留言等等丽惭。這時業(yè)界發(fā)明了動態(tài)web語言(APS击奶、PHP等),專門處理變態(tài)辣责掏、不放香菜等個性需求柜砾,放到HTML這個靜態(tài)內(nèi)容里(如未放調(diào)料的涼皮)。動態(tài)時代-早期
PHP代碼换衬,"php"那行就是個性需求
三痰驱、Java web時代
春天飯店生意越來越好,小白忙不過來了瞳浦,請了位廚師做涼皮和熱干面担映,請了位服務(wù)員接待客戶。
Java web服務(wù)端架構(gòu)變成底下這樣叫潦,JSP接收和返回客戶請求蝇完,JavaBean專門處理業(yè)務(wù)邏輯。這兩個名詞就像名字一樣矗蕊,記著左右即可短蜕。整個架構(gòu)有個名字,叫JSP模型1拔妥。JSP模型1
根據(jù)客戶需求忿危,春天飯店加了不少產(chǎn)品,包括烤魚等没龙,客戶同樣有個性需求:如烏江魚配土豆铺厨,加酸梅湯或可樂缎玫、只用一次性筷子等等。產(chǎn)品+個性需求太多解滓,小白解釋不過來赃磨,就做了個菜單供客戶選擇(每個客戶一張菜單,客戶在上面打鉤)洼裤。服務(wù)員將客戶需求告訴廚師邻辉,廚師做好菜,服務(wù)員根據(jù)客戶下單配上可樂腮鞍、筷子端給客戶值骇。
這就是服務(wù)端編程的MVC時代,控制器Controller相當于服務(wù)員(在java里叫Servlet)移国;視圖View相當于菜單吱瘩,主要是一些網(wǎng)頁模板;模型Model相當于廚師迹缀。
JSP模型2-MVC架構(gòu)
四使碾、Spring MVC時代
春天飯店發(fā)展迅猛,小白想多元化經(jīng)營祝懂,提供除餐飲外的服務(wù)票摇,如按摩。春天飯店改叫春天酒店砚蓬。由于經(jīng)營內(nèi)容多了矢门,分工不得不更細致,如要有前臺怜械,有單獨負責(zé)餐飲的總廚和單獨負責(zé)按摩的媽咪颅和,給客戶呈現(xiàn)的有菜單、按摩套餐表等缕允,得有服務(wù)員專門給客戶介紹餐飲與按摩峡扩;客戶選好套餐后,由前臺查詢值班表障本,找到具體的總廚或媽咪教届,總廚或媽咪想辦法根據(jù)客戶需求提供滿意的服務(wù)(服務(wù)由具體廚師或技師執(zhí)行)。
Spring mvc其實就是這樣一個酒店驾霜,比傳統(tǒng)mvc(飯店)分的更細:將controller拆分為多個案训;view也拆成兩個,一個view和viewResolver粪糙,解決不同類型視圖問題强霎;Spring MVC架構(gòu)
該圖中,小白最經(jīng)常需要關(guān)心(編程)的只有三件事情蓉冈,1:總廚城舞、媽咪(具體的controller)2:菜品與按摩質(zhì)量(具體的廚師和技術(shù)水平)3)菜單和按摩套餐表(定期根據(jù)菜品數(shù)量和按摩方式更新)
五轩触、Spring Boot時代
雖說春天酒店發(fā)展很好,但小白太累了家夺,雖說核心是上面三件事情脱柱,但前臺、服務(wù)員等等也要去管理(對應(yīng)Spring mvc的各種配置)拉馋,每增加一些服務(wù)或菜品榨为,都得去培訓(xùn)她們(也是配置)。于是小白請了CEO:Spring boot專門打理這些事情煌茴,小白專心去搞好菜品和服務(wù)質(zhì)量随闺。
Spring Boot
Spring boot沒有改變Spring mvc的任何內(nèi)容,但可以讓程序猿從繁重的配置工作中解脫出來景馁,專注于核心競爭力的業(yè)務(wù)邏輯部分板壮,重拾搞服務(wù)端編程的初心逗鸣。
六合住、小結(jié)
- 從春天飯店的發(fā)展過程看,是一個分工不斷細化的過程撒璧;而服務(wù)端的框架透葛,發(fā)展歷程也雷同。簡單的說就是:分而治之
- 如果小小白的你卿樱,一開始就基于Spring mvc編寫程序(在春天酒店按摩或炒菜)僚害,你知道你做的是整體工作的哪一部份的話,能更好的服務(wù)客戶
- 一切框架都是為了更好的服務(wù)客戶繁调,如果你服務(wù)的客戶只需簡單的熱干面萨蚕,你趕緊換成路邊攤框架吧,快捷便宜蹄胰,客戶滿意度更高岳遥。