淺談前后端分離
開發(fā)模式

確定需求(產(chǎn)品經(jīng)理/領(lǐng)導(dǎo)/客戶); UI 設(shè)計效果圖; 前后端約定接口文檔; 前后端并行開發(fā); 前后端集成; 需求交付(提測/上線);
前后端半分離

如圖,為前后端半分離。
分離與半分離的標(biāo)志在于誰握著組裝數(shù)據(jù)的邏輯,如果在前端,那就是前后端分離!否則就是半分離!
前后端分離

如圖,為前后端分離。
優(yōu)點
前后端徹底分離,即便后期有服務(wù)遷移,也不需改動前端代碼; 更好的適配前端,業(yè)務(wù)更向前靠攏,在 BFF 層進行接口組裝; 對于后端,確定了更清晰的服務(wù)邊界; 對于前端,可自行在 BFF 層 mock 數(shù)據(jù);
缺點
增加了開發(fā)成本; 中間層轉(zhuǎn)發(fā)增加請求延遲;
BFF 層大多數(shù)情況下歸屬于前端負責(zé),使用 nodejs 開發(fā),完成請求轉(zhuǎn)發(fā)和數(shù)據(jù)轉(zhuǎn)化。
架構(gòu)圖參考:

反思
如果系統(tǒng)分層了,但是人的職責(zé)沒分層,那就違反了康威定律!如果只有三五個開發(fā),應(yīng)該考慮的不是服務(wù)拆分,而是服務(wù)聚合。
評論
圖片
表情
