http://wiki.jikexueyuan.com/project/fend_note/images/W/websevice.png" alt="" />
Web 系統(tǒng)部署在服務(wù)器上為提出不同需求的外部客戶端服務(wù)。
MVC (Model, View, Controller) 它們分別代表數(shù)據(jù)層,視圖層, 和控制層。
http://wiki.jikexueyuan.com/project/fend_note/images/M/MVC.png" alt="" />
NOTE:CRUD 代表 Create、Read、Update、Delete。
下面以用戶請(qǐng)求頁面為例:
http://wiki.jikexueyuan.com/project/fend_note/images/M/MVC_Process.png" alt="" />
http://wiki.jikexueyuan.com/project/fend_note/images/M/mvc-before.png" alt="" />
弊端
前端工程師新責(zé)任
http://wiki.jikexueyuan.com/project/fend_note/images/M/mvc-after.png" alt="" />
隨著視圖層也會(huì)存在業(yè)務(wù)邏輯的需求,前端工程師也會(huì)參與到業(yè)務(wù)邏輯的實(shí)現(xiàn)中去。 這樣使前端工程師可以在后期轉(zhuǎn)換成全棧工程師(Fullstack Developer)。
完成一個(gè) Web 系統(tǒng)需要至少以下三種角色:
http://wiki.jikexueyuan.com/project/fend_note/images/F/frontend-developer.png" alt="" />
前端部分又可再細(xì)分為頁面工程師和前端工程師**。前者更注重和視覺工程師的協(xié)作, 后者則更多的與后端工程師進(jìn)行協(xié)作。
頁面工程師
前端工程師
http://wiki.jikexueyuan.com/project/fend_note/images/T/tasks-assign.png" alt="" />
NOTE:多角色開發(fā)會(huì)比單人工程增加工作溝通成本。
http://wiki.jikexueyuan.com/project/fend_note/images/C/collaboration-process.png" alt="" />
按照流程規(guī)范可以明確角色和其對(duì)應(yīng)的職責(zé),這樣可以大大減少角色間的溝通成本。
http://wiki.jikexueyuan.com/project/fend_note/images/C/collaboration-mataince.png" alt="" />
NOTE:紅色路徑為不需要改變規(guī)范的前提下,響應(yīng)需求變更。
下面將總結(jié)各個(gè)角色職責(zé)具體任務(wù):
頁面工程師
前端工程師
后端工程師
角色與人之間不一定需要一一對(duì)應(yīng),前端工程師和頁面工程師可能是一人。 全棧工程師則有能力包攬一切。