前端與后端分離的架構實例(二)


前幾天,寫了一篇名為《一個前端與后端分離的架構實例》的文章,在那篇文章里,以一個真實的項目作為實例。現在接着再談談我對於前端與后端分離一些新的想法。

對於我來說,理想的架構是,后端提供各種各樣的服務,而前端只要把這些服務給整合起來,就變成一個客戶所需要系統。但是,實際上在整合的過程,都需要泛及到后端的開發,我期待是后端涉及到的改動是盡可能的少。

當一個系統是基於前端與后端分離這種模式來進行來發的,通常來說,這種開發模式使得整個開發的環節變長了,這將導致整個開發團隊(包括前端與后端開發人員)的開發失去了靈活性,因為一點點小功能的改動,很有可能都需要好幾個人來進行協作開發。

舉一個例子來說,如下圖所示,如果要添加一個地址的字段,我們來看看整個開發流程是怎么樣的。首先,前端人員要找到后端開發人員,告訴他需要添加一個字段,后端開發人員確認后,然后在數據對應的表里加了這么一個字段,接着生成 Model,然后測試一下,再告訴前端人員,前端人員進行開發。從這里我們可以看得出來,添加字段一個如此簡單的功能,整個流程走完,最少也得一個小時,這是理想的情況。碰到不理想的情況,拖個幾天也是有可能。

數據的提交

我一直在想,能不能把這個環節給縮短了,從於提升整個開發團隊的效率。對於前端開發人員來說,他只關心這個字段能不能保存起來,並且能讀出來就行了,致於保存到哪里,數據庫還是其它什么地方,他是不關心。那么,后端能不能自動把這個字段給保存起來呢?

前端開人員提交的數據:

{
    UserName: 'administrator',
    Address: '上海閘北'
}

數據的保存

后端在接收到前端人提交上來的數據后,對字段進行逐個判斷,如果實體類里面沒有對應屬性的,比如說沒有"Address"這個屬性,那么這些屬性將會以鍵值的方式來儲存,比如說可以使用 NoSQL 數據庫來保存。

數據的讀取

數據的讀取是首先從關系型數據庫把數據給讀取出來,然后再從NoSQL數據讀取對應的鍵值對(假定數據保存在非關系型數據庫里),然后把數據給整合起來返回到前端。

實體的保存

對於一些簡單的,非核心的業務,我們完全可以在前端來實現,比如說,選座位的這么一個功能,類似似於團購電影票的時候,進行座位的選擇這么一個功能。這種功能非常簡單,但是,泛及到實體類的添加,同樣,我們也可以采用使用 NoSQL 數據來保存這些數據。

安全性

對於我們系統來說,由於前端是使用 JavaScript 來編寫的,上面這種做法使得整個系統的安全性變得很脆弱,很容易在數據庫中注入一些數據。所以還需要保證,每個用戶只能夠對自己的數據進行處理。關於這個問題,我們以后再具體談談。

 

招聘前端初級開發人員:懂 JQuery、JQuery UI、JQuery Validate、Knockout JS 等JS 框架,略懂 Linq to SQL,能閱讀文檔,根據文檔示例寫代碼(歡迎勤奮好學的畢業生)

地點:上海市閘北區

網站:http://www.vknew.com/index.html

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM