ref: https://blog.bitsrc.io/bff-pattern-backend-for-frontend-an-introduction-e4fa965128bf
本篇文章是探討一個前後端互相合作的設計模式,Backend For Frontend 簡稱為 BFF。
文章開頭,作者舉了一個常見的應用情境,假設團隊需要基於微服務的概念去設計一套電商系統,背後服務包括了購物車,訂單,產品,顧客...等不同類型的資料。
但是很容易後端所回傳的資料格式並不能完全直接符合前端的需求,這意味前端必須要維護一套邏輯來轉換資料格式來符合其需求。
基於這種情況,作者希望將前端這些轉換格式的邏輯給抽出來並且移動一個中間層來進行處理,而這個中間層也就是所謂的 BFF。
當前端需要請求一些資料時,前端會對 BFF 去發送 API,而此時 BFF 會執行下列行為
1. 呼叫對應的 backend 服務來獲得需要的資料
2. 根據前端的需求將獲得的資料進行格式轉換
3. 將轉換後的格式回傳前端
這種架構下,能夠讓前端的程式邏輯更為簡單與乾淨
接者作者針對 BFF 的架構又探討了幾個問題,分別
The role of a BFF
1. BFF 單純就是一個前後端中間的轉換介面
2. 前端 Team 要負責維護這個 BFF 的應用程式
3. 每個 BFF 就是針對一個前端,一個 UI 去設定,同時盡可能地讓前端程式碼保持單純與專注
Will this increase latency?
由於 BFF 就是一個前後端中間的轉換層,這是否意味所有請求都會需要花費更長的時間來處理,
答案是沒錯,每個請求只要經過愈多的節點整個花費時間會增加是不可避免的。
不過作者認為這個帶來的影響微乎其微,特別是當瀏覽器介面本身需要需要跟眾多沒有針對前端最佳化的服務取得資料時,BFF 帶來的影響基本上可以忽略。
此外,作者認為透過 BFF 的架構可以讓前端更容易得基於批次的概念來一口氣呼叫眾多後端服務同時於一個 reply 中取得全部所需的資料,甚至直接得更為方便呈現的資料格式。
作者提到這個特色針對 2G/3G 這種本身需要花上數秒鐘才可以建立連線的網路情況來說特別有效,減少向後建立連線的數量,反而能夠讓前端更有效率地去呈現畫面。
When to use a BFF for your applications
如同其他眾多的設計模式一樣, 使用 BFF 也是要依據團隊的使用情境與架構來判別。 假設團隊的應用程式是一個 monolithic 的架構,則 BFF 基本上幫不上什麼忙,帶來的好處微乎其微。
不過如果是基於微服務的架構的話,則 BFF 就有機會可以幫上忙。
文章中還有針對 BFF 的架構圖是以及其他相關好處,譬如
1. Separation of concerns
2. Easier to maintain and modify APIs
3. Better error handling in the frontend
4. Multiple device types can call the backend in parallel
5. Better security
6. Shared team ownership of components
有興趣的可以參考看看原文
同時也有285部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,中央大學Android_Studio APP開發程式設計第4次(多國語系與英哩轉公里) 上課內容: 01_重點回顧多按鈕與多國語系說明 02_建立字串資源與將文字屬性改為來字字串檔 03_複製多國語系資料夾與修改語系 04_預覽多國語系與模擬器切換 05_取得APK檔與取得字串檔文字 06_英哩轉...
資料 架構圖 在 今周刊 Facebook 的精選貼文
【本期封面】聯亞生技王長怡 揭密
攸關台灣500萬劑的救命疫苗,從國際傭兵組織頭子、華爾街A咖到政府國發基金都參戰其中…
一張複雜集團架構圖,拆解疫苗專利歸屬的爭議
一份美國證監會資料,看聯亞美國人脈、金脈的驚人號召力
集團董事、大股東、同業、官員…他們眼中的王長怡
旗下聯亞藥興櫃首日狂漲6倍,投資人沒看清的真相
文策院院長 李明哲
前KKBOX總裁,手握3招準備再燒熱台流
李明哲跳火坑出掌文策院:
「有挑戰的事才有趣」
保時捷、Volvo、Nissan全島充電樁 這兩家是要角
台股下半年攻略 搶賺iPhone13、解封受惠兩大題材
更多精彩內容,請上《今周刊》官網
https://www.businesstoday.com.tw/
資料 架構圖 在 今周刊 Facebook 的最讚貼文
【本期封面】聯亞生技王長怡 揭密
攸關台灣500萬劑的救命疫苗,從國際傭兵組織頭子、華爾街A咖到政府國發基金都參戰其中…
一張複雜集團架構圖,拆解疫苗專利歸屬的爭議
一份美國證監會資料,看聯亞美國人脈、金脈的驚人號召力
集團董事、大股東、同業、官員…他們眼中的王長怡
旗下聯亞藥興櫃首日狂漲6倍,投資人沒看清的真相
文策院院長 李明哲
前KKBOX總裁,手握3招準備再燒熱台流
李明哲跳火坑出掌文策院:
「有挑戰的事才有趣」
保時捷、Volvo、Nissan全島充電樁 這兩家是要角
台股下半年攻略 搶賺iPhone13、解封受惠兩大題材
更多精彩內容,請上《今周刊》官網
https://www.businesstoday.com.tw/
資料 架構圖 在 吳老師教學部落格 Youtube 的最讚貼文
中央大學Android_Studio APP開發程式設計第4次(多國語系與英哩轉公里)
上課內容:
01_重點回顧多按鈕與多國語系說明
02_建立字串資源與將文字屬性改為來字字串檔
03_複製多國語系資料夾與修改語系
04_預覽多國語系與模擬器切換
05_取得APK檔與取得字串檔文字
06_英哩轉公里範例說明
完整影音
http://goo.gl/aQTMFS
吳老師教學論壇
http://www.tqc.idv.tw/
懶人包:http://terry55wu.blogspot.com/p/android.html
想學好Android開發,
先學會Android_Studio開發環境建置,
或是直些下載我的Android_Studio穩定開發版,
只要再裝好JAVA SDK(32位元)版即可,
不要浪費時間再當白老鼠,這也是很多人的痛。
接下來就是建個 HelloWorld 接下來就是把自己的創意變成APP,
開始努力建置APP,為台灣的軟體產業加把勁,
展現台灣的軟實力吧!
Android_Studio穩定開發版 [下載]
JAVA SDK(32位元) [下載]
課程理念與課程介紹:
Android智慧型手機平台,已成為手機上最完整的開放開發平台
人手必備的趨勢下行動上網已達500萬人次以上,手機相關應用,將會超越PC,比PC更智慧,
更貼近個人使用習慣,未來APP將漸取代Web,成為各產業或政府對外窗口。
如何開發APP,以循序漸進的方式講授Android應用程式架構、圖形介面開發、測試與除錯等,
進而取得證照。
吳老師教學特色:
1.影音複習分享(全程錄影)。
2.能不硬code程式,有程式也會提供畫面。
3.提供業界實務開發經驗。
4.書上沒講到的操作,圖形化工具使用。
5.隨時更新第一手資訊。
參考書目
Android 初學特訓班
作者:鄧文淵/總監製;文淵閣工作室/編著
出版社:碁峰 出版日期:2011年12月29日 2刷
Java SE 7與Android 4.x程式設計範例教本
作者:陳會安
出版社:碁峰
出版日期:2011年12月29日
吳老師教學部落格:
http://terry55wu.blogspot.com/
吳老師
android 開發教學,android 程式教學,android 使用教學,android app教學,android sdk,android studio 開發教學,android studio tutoria
資料 架構圖 在 吳老師教學部落格 Youtube 的精選貼文
中央大學Android_Studio APP開發程式設計第4次(多國語系與英哩轉公里)
上課內容:
01_重點回顧多按鈕與多國語系說明
02_建立字串資源與將文字屬性改為來字字串檔
03_複製多國語系資料夾與修改語系
04_預覽多國語系與模擬器切換
05_取得APK檔與取得字串檔文字
06_英哩轉公里範例說明
完整影音
http://goo.gl/aQTMFS
吳老師教學論壇
http://www.tqc.idv.tw/
懶人包:http://terry55wu.blogspot.com/p/android.html
想學好Android開發,
先學會Android_Studio開發環境建置,
或是直些下載我的Android_Studio穩定開發版,
只要再裝好JAVA SDK(32位元)版即可,
不要浪費時間再當白老鼠,這也是很多人的痛。
接下來就是建個 HelloWorld 接下來就是把自己的創意變成APP,
開始努力建置APP,為台灣的軟體產業加把勁,
展現台灣的軟實力吧!
Android_Studio穩定開發版 [下載]
JAVA SDK(32位元) [下載]
課程理念與課程介紹:
Android智慧型手機平台,已成為手機上最完整的開放開發平台
人手必備的趨勢下行動上網已達500萬人次以上,手機相關應用,將會超越PC,比PC更智慧,
更貼近個人使用習慣,未來APP將漸取代Web,成為各產業或政府對外窗口。
如何開發APP,以循序漸進的方式講授Android應用程式架構、圖形介面開發、測試與除錯等,
進而取得證照。
吳老師教學特色:
1.影音複習分享(全程錄影)。
2.能不硬code程式,有程式也會提供畫面。
3.提供業界實務開發經驗。
4.書上沒講到的操作,圖形化工具使用。
5.隨時更新第一手資訊。
參考書目
Android 初學特訓班
作者:鄧文淵/總監製;文淵閣工作室/編著
出版社:碁峰 出版日期:2011年12月29日 2刷
Java SE 7與Android 4.x程式設計範例教本
作者:陳會安
出版社:碁峰
出版日期:2011年12月29日
吳老師教學部落格:
http://terry55wu.blogspot.com/
吳老師
android 開發教學,android 程式教學,android 使用教學,android app教學,android sdk,android studio 開發教學,android studio tutoria
資料 架構圖 在 吳老師教學部落格 Youtube 的最讚貼文
Android_Studio開發網路資料庫(第9次網路下載資料複習與SQLite資料庫說明&實作SQLite與建立資料庫與資料表與新增與查詢資料&CursorAdapter&SQL語法UPDATE與DELETE&用DDMS抓取SQLite與查詢&範例SQLite2水果查詢&成語查詢系統&會員查詢系統)
上課內容:
01_網路下載資料複習與SQLite資料庫說明
02_實作SQLite與建立資料庫與資料表與新增與查詢資料
03_SQLite查詢與CursorAdapter建立說明
04_增加SQL語法UPDATE與DELETE功能
05_抓取SQLite檔案與開啟
06_用DDMS抓取SQLite與查詢方式說明
07_範例SQLite2水果查詢範例說明
08_如何修改為成語查詢系統
09_如何修改為會員查詢系統
10_修改為顯示會員詳細資料
完整影音
https://www.youtube.com/playlist?list=PLCfL1sBZ2_SQ91f7mCX9w5fmAx_gnlQCC
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/java_object2016
懶人包:http://terry55wu.blogspot.com/p/android.html
想學好Android開發,
先學會Android_Studio開發環境建置,
或是直些下載我的Android_Studio穩定開發版,
只要再裝好JAVA SDK(32位元)版即可,
不要浪費時間再當白老鼠,這也是很多人的痛。
接下來就是建個 HelloWorld 接下來就是把自己的創意變成APP,
開始努力建置APP,為台灣的軟體產業加把勁,
展現台灣的軟實力吧!
Android_Studio穩定開發版 [下載]
JAVA SDK(32位元) [下載]
課程理念與課程介紹:
Android智慧型手機平台,已成為手機上最完整的開放開發平台
人手必備的趨勢下行動上網已達500萬人次以上,手機相關應用,將會超越PC,比PC更智慧,更貼近個人使用習慣,未來APP將漸取代Web,成為各產業或政府對外窗口。
如何開發APP,以循序漸進的方式講授Android應用程式架構、圖形介面開發、測試與除錯等,進而取得證照。
吳老師教學特色:
1.影音複習分享(全程錄影)。
2.能不硬code程式,有程式也會提供畫面。
3.提供業界實務開發經驗。
4.書上沒講到的操作,圖形化工具使用。
5.隨時更新第一手資訊。
參考書目
Android 初學特訓班
作者:鄧文淵/總監製;文淵閣工作室/編著
出版社:碁峰 出版日期:2011年12月29日 2刷
Java SE 7與Android 4.x程式設計範例教本
作者:陳會安
出版社:碁峰
出版日期:2011年12月29日
吳老師教學部落格:
http://terry55wu.blogspot.com/
吳老師
android 開發教學,android 程式教學,android 使用教學,android app教學,android sdk,android eclipse,android 開發,android studio 開發教學,android studio tutorial,android studio download,android app開發資料庫,app開發資料庫,網路資料庫教學,app開發教學