淺談前後端分離思想對自由泳練習的指導意義
以SAP BSP(Business Server Page), ABAP Webdynpro和WebClient UI為代表的SAP UI開發技術,在企業管理軟體的前端開發領域裡算是獨樹一幟的存在——因為ABAP提供的OPEN SQL,能夠讓開發人員直接在任何能編寫ABAP程式碼的地方,直接運算元據庫,所以使用這三門開發技術的初學者,很容易在前端編寫大量本不應該放在前端實現的程式碼,最後形成一個前後端高度耦合的應用出來。
這種錯誤實踐的一個例子,比如在WebClient UI的控制器裡,直接使用OPEN SQL訪問資料庫,將資料讀取出來後,同樣在控制器裡,再將這些按照資料庫表的格式定義的資料轉換成符合UI顯示的格式。
比較好的實踐,就是把資料庫操作封裝成一個API,該API返回的結果,透過DTO(Data Transfer Object)轉換成可以直接被UI展示的格式,這樣UI和控制器都不需要知道底層資料庫的格式,實現了前後端的解耦。
今年是Jerry從事自由泳這項運動的第三年了。之前Jerry犯了一個很多自由泳初學者都容易犯的錯誤:急於以全身配合的方式練習自由泳。採用這種方式練習了一段時間後,Jerry感覺自己的水平停滯不前,於是和堡格萊斯恆溫游泳館的陳教練交流了一下。陳教練說,你還是先練習浮板打腿或者手蹼划水吧。Jerry心想,對啊,這不就是前後端分離嗎?
計算機領域的前後端分離之後,後端開發工程師專注於保證應用的高併發,高可用性,高效能,安全,儲存等設計,而前端開發工程師致力於頁面表現,渲染速度,使用者體驗,相容性等等。二者術業有專攻,不用既當爹又當媽。
而自由泳的前後端分離的設計思想,又該如何實現?即Jerry剛才提到的八字方針:浮板打腿,浮板划水。
因為這八個字在網路上有太多的教程了,Jerry不打算做搬運工,只談談自己的切身感受。
浮板打腿
雖然Jerry的自由泳至今遊得不咋地,但是理論知識倒是學了很多,屬於典型的“道理都懂,就是做不好”那一類。
如果有人問我,“你練習了三年自由泳,用一個詞告訴我自由泳打腿的精髓是什麼?”Jerry的答案就是:鞭腿。
怎麼找到鞭腿的感覺?Jerry看過游泳大神易夢覺的教學影片,他的建議是單腳站立,另一隻腳穿一隻拖鞋,用力甩腿,把拖鞋拋向空中。體會“甩”腿而不是“踢”腿的感覺。
Jerry覺得夢覺大神的腦洞真的是很大,能想出這種不受任何場地限制的練習方法出來。不過Jerry覺得沒那麼麻煩,只需要在家裡找一根毛巾或者一條床單,打溼後模擬長鞭。握住毛巾或床單的一端使勁揮動,如果您能找到將這股力道從手握住的一端傳遞到毛巾/床單末端的感覺,那麼恭喜您,自由泳的鞭腿發力訣竅您已經找到了。
鞭子越長,則傳遞到末端時的爆發力越大。在實戰中把這種鞭狀發力發揮到極致的場景,就是著名動作片《精武英雄》中,李連杰扮演的陳真,用一根皮帶對決手握武士 刀,擁有“機器人”綽號的日本軍官藤田剛(周比利扮演)。
將一根柔軟的皮帶玩出了雙截棍宗師的風範,當Jerry在電腦面前反覆觀摩李連杰用皮帶示範鞭狀發力技巧時,看見藤田剛被皮帶末端暴擊,Jerry的臉似乎都感覺到了這份從螢幕裡傳遞過來的力道而隱隱生疼。
https:// v.qq.com/x/page/w05345m iy7d.html
如果您是一位自由泳愛好者而尚未找到鞭腿的訣竅,Jerry建議您觀摩上面那段李連杰的帥氣影片,說不定能得到啟發。
如果想暫時忘掉手上的動作,專心練習鞭腿,那麼則需要借鑑程式設計領域裡前後端分離的思想了。程式設計師們對於mock一定都非常熟悉,而浮板,就是游泳界的mock.
沒錯,就是下面這個神器。
手握浮板,我們可以暫時忘記自由泳手上的動作,而專注於鞭腿的練習。此時浮板充當了自由泳手部動作的mock.
浮板划水
同理,如果想暫時忘記自由泳的腿部動作,專心練習劃手,那麼可以進行浮板划水練習,即把浮板放至大腿內側緊緊夾住,此時由於浮板產生的浮力,自然會將下半身托起,所以雙腿只需靜止不動,全身也能在水中形成良好的流線型。如下圖上半部分所示:
這樣,腿部動作已經被浮板mock,接下來就可以專心進行劃臂練習了。
當然,也有比浮板更專業的夾腿板,這種器材佩戴的位置和浮板相比離身體中心更遠,因而對身體核心力量和穩定性要求更高。
基本動作就是像這些可愛的小朋友正在做的一樣:
https:// v.qq.com/x/page/u07609t 87my.html
在程式設計領域,mock是處於各個水平階段的程式設計師都會使用到的利器。同樣,浮板也是從剛學習游泳的業餘愛好者到像孫楊這種頂級游泳運動員,奧運名將們都會使用到的訓練工具。
如果您想擁有一套像孫楊下圖這樣漂亮的自由泳打腿,那麼拿起浮板,老老實實打腿去吧。感謝閱讀。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2658623/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 淺談前後端分離後端
- 淺談WEB前後端分離Web後端
- 淺談架構之路:前後端分離模式架構後端模式
- 再談前後端分離後端
- 淺談前後端分離中的跨資源共享(CORS)後端CORS
- 介面對前後端和測試的意義後端
- 談談前後端分離及認證選擇後端
- 淺談前後端路由與前後端渲染後端路由
- 前後端分離後的前端時代後端前端
- ???前後端分離模式的思考???後端模式
- 前後端分離那些事後端
- 前後端分離——使用OSS後端
- 前後端分離後模組開發後端
- 淺談前後端分離與實踐 之 nodejs 中間層服務(二)後端NodeJS
- 前後端分離的優缺點後端
- 實現前後端分離的心得後端
- 簡單的前後端分離 Cas後端
- 實踐中的前後端分離後端
- 前後端分離——資料mock後端Mock
- vue前後端分離修改webpackVue後端Web
- 前後端分離整合SpringSecurity後端SpringGse
- 前後端分離,最佳實踐後端
- 什麼是前後端分離?後端
- 前後端分離實踐有感後端
- 從MVC到前後端分離MVC後端
- 前後端分離Ajax入門後端
- 前後端分離之更好的mock你的後端api後端MockAPI
- 《從零構建前後分離 WEB 專案》 序 – 開源的意義Web
- 《從零構建前後分離 WEB 專案》 序 - 開源的意義Web
- 前後端分離的好處有哪些?後端
- Django+Vue.js搭建前後端分離專案 web前後端分離專案實踐DjangoVue.js後端Web
- Swagger - 前後端分離後的契約Swagger後端
- Flask前後端分離專案案例Flask後端
- 從部署上做到前後端分離後端
- Laravel 前後端分離 csrf 防護Laravel後端
- 前後端分離之Ajax入門後端
- Cloudera Manager 前後端分離部署方法Cloud後端
- 前後端分離的思考與實踐(三)後端