<font id="zqva1"></font>
<rt id="zqva1"></rt>
  • <tt id="zqva1"></tt>
    <cite id="zqva1"></cite>

    <cite id="zqva1"><noscript id="zqva1"></noscript></cite>
      <rp id="zqva1"><meter id="zqva1"></meter></rp>

        <cite id="zqva1"></cite>
          <b id="zqva1"></b>
          <rp id="zqva1"></rp>
          <cite id="zqva1"></cite>

          <rt id="zqva1"></rt>

        1. <rp id="zqva1"></rp>

          前后端分離模式有什么意義

          時間:?2020-02-11閱讀:?30標簽:?模式
          真正接觸前后端分離模式也就幾個月的時間。本文屬于自己對前后端分離模式的一些總結,主要來源于針對之前的后端做數據渲染與分離模式的一些對比。近期會針對一些常見的開發模式做一些分享,如果對你有幫助,給個關注吧!!!


          什么是前后端分離

          前后端分離從端口劃分就是將瀏覽器、客戶端分為前端,提供真實服務的軟件就成為后端。從開發語言的角度劃分后端的編程語言和前端的編程語言,例如Java是做后端真實數據服務的,JavaScript、HTML是做前端業務數據的展現與用戶行為操作的。


          為什么會出現前后端分離

          A.為什么會出現前端和后端分離模式,這得從有前后端分離開發模式之前的開發模式說起。我們先看下面兩張圖。


          第一張圖是非前后端分離。

          1.首先,我們通過圖片可以看出,一個項目的開始從產品經理,其次是設計工程師,其次是前端開發工程師......最后才是運維工程師進行項目部署。這樣一個項目才算的上真正的開發完成了。

          2.這樣的開發模式全程是一個串行的模式,從外觀就有點像一條龍服務的模式,后者依賴于前者。用編程中的一個詞語就是,高藕和。

          第二張圖是前后端分離。

          1.首先,我們通過這張圖片可以看出,一個項目的開始同樣是從產品經理,接著就是設計工程師負責。

          2.最重要的一點,我們看設計工程師在負責的同時,后端工程師和前端工程師都在同樣的進行開發,這樣三者是處于并行進行。

          3.然后設計工程師設計完之后,交付給前端工程師,后端開發工程師完成之后可以和前端工程師做對接。

          4.這三者完成之后,接下來就是測試工程師,最后同樣的是運維工程師負責。這樣一個項目才算的上真正的開發完成了。

          5.通過這種模式,我們不難看出,在產品經理完成之后,不再是單獨的設計工程師完成之后交給前端工程師,然后在交給后端工程師,而是三者可以處于并行的一個狀態。

          B.上面談完了,我們接下來分析總結一下非前后端分離模式的缺點。

          1.開發效率低。

          通過上面的圖一,我們看的出每一個環節都依賴進行,難免延長了開發周期。

          2.整個團隊的協作耦合度高。

          環節層層依賴。如果某個環境進行了修改,其他的環境就得收到影響。

          3.團隊容易甩鍋。

          當項目出現問題之后,團隊成員很容易將一些責任推到其他的環節上面。

          4.難以處理越來越復雜的業務。

          隨著現目前的業務發展趨勢,業務也越來越復雜。例如,一些頁面交互效果,數據處理。傳統的模式很難支持這樣的業務場景。通過前后端分離,前端負責對應的交互業務,后端負責數據的處理。

          5.使得代碼的耦合度更高。

          這里可以從一種軟件設計模式來分析。那就是MVC模式,模型層(M)負責數據庫層面的操作,控制層(C)負責處理邏輯,視圖層(V)負責數據渲染。這是一種很不錯的軟件設計模式。但在不做到嚴格規范的情況下,仍有很多的程序開發者,在控制層C輸出一些視圖層V的業務代碼,這樣的代碼似的代碼的耦合度更高,同時也難以維護。



          前后端分離有什么好處。

          綜上B點弊端,我們不難分析出前后端分離的一些好處了。

          1.提高開發效率。

          2.降低的軟件設計的耦合度。不管是前端還是后端,都可以針對不同的端,實現一些工程化的東西。

          3.提高了處理復雜業務的能力。后端可以只專注后端業務,前端可以專注于前端的業務。


          前后端分離有哪些缺點

          1.團隊溝通成本。

          每個環節都需要保證溝通、協商好,否則很容易導致團隊混亂,因此前后端分離模式對團隊協調也是有著較高的要求。

          2.不利于搜索引擎抓取。

          因為搜索引擎看的是html源碼,不能執行js,也就無法獲取js動態從ajax抓的內容。

          3.項目維護成本。

          前后端分離,后端的代碼和前端的代碼都需要單獨部署。在開發中也需要針對開發需求部署不同的環境。

          4.增加繁雜的配置。

          前后端分離,需要設置跨域一系列的其他操作。同時也會針對前后端的一些監控處理。都無疑增加了工作量。


          前后端分離涉及到軟件開發的哪些環節

          所謂的前后端并不是單純的指前端工程師負責的內容和后端工程師負責的內容之間可以獨立進行。總體歸納如下幾點:

          1.產品設計

          2.設計

          3.前端開發

          4.后端開發

          5.測試

          6.部署

          這幾個環節,其實很多都可以并行運行。

          1.例如,在產品設計好之后,能夠具體確定哪些功能,前后端工程師可以協商接口、接口參數等需要對接的內容,設計師可以同時負責設計。

          2.當定義好了項目的一些規范,前后端的開發人員在開發的過程中,可能會需要一些模擬數據,這時候后端開發人員并未開發出對應的接口,那怎么辦呢?就可以事先使用mock模擬一些數據,供前端人員調用,后端人員開發完成之后,前端直接調用真實數據。

          3.在前后端開發過程中,測試人員可以針對前端人員開發的功能進行前端調試,例如UI還原、用戶交互缺陷等。測試人員也可以針對后端開發人員的接口進行數據調試。

          4.最后運維工程師在前端和后端工程師開發過程中,可以針對前端的環境進行一些列的搭建,也可以針對后端的環境進行一系列的搭建。待項目開發、測試完成就直接部署,而不是等到開發、測試完成之后才來從0開始部署。

          本文可轉載,需注明出處(公號:卡二條的技術圈)
          吐血推薦

          1.站長廣告聯盟: 整理了目前主流的廣告聯盟平臺,如果你有流量,可以作為參考選擇適合你的平臺點擊進入...

          2.休閑娛樂: 直播/交友    優惠券領取   網頁游戲   H5游戲

          鏈接: http://www.modern-decoration.com.cn/article/detial/7802

          發布訂閱和觀察者模式的區別

          有些人認為觀察者模式就是發布訂閱模式,實際上觀察者模式是包含了訂閱發布模式,發布訂閱模式只是觀察者模式中的一種。觀察者模式是觀察者和被觀察者之間的通信,而發布訂閱模式中間增加了一個中轉層

          Js設計模式之:單例模式

          良好的設計模式可以顯著提高代碼的可讀性,降低復雜度和維護成本。筆者打算通過幾篇文章通俗地講一講常見的或者實用的設計模式

          JS 中的裝飾器模式

          使用過 mobx + mobx-react 的同學對于 ES 的新特性裝飾器肯定不陌生。我在第一次使用裝飾器的時候,我就對它愛不釋手,書寫起來簡單優雅,太適合我這種愛裝 X 且懶的同學了。

          前端JavaScript設計模式

          面向對象的三大特性:繼承、封裝、多態。JavaScript 沒有提供傳統面向對象語言中的類式繼承,而是通過原型委托的方式來實現對象與對象之間的繼承。JavaScript 也沒有在語言層面提供對抽象類和接口的支持。

          js中的策略模式

          什么是策略模式,官方定義是:定義一些列算法,把他們封裝起來,并且可以相互替換。說人話(⊙?⊙):就是把看似毫無聯系的代碼提取封裝、復用,使之更容易被理解和拓展。常見的用于一次if判斷、switch枚舉、數據字典等流程判斷語句中

          TypeScript設計模式之享元模式

          享元模式就是運行共享技術有效地支持大量細粒度的對象,避免大量擁有相同內容的小類的開銷(如耗費內存),使大家共享一個類,在享元模式中有兩個重要的概念,即內部狀態和外部狀態:

          Js實現基于類的枚舉模式

          枚舉是由一組值組成的類型。例如 TypeScript 中有內置的枚舉,我們可以通過它們來定義自己的布爾類型:這段 TypeScript 代碼會被編譯為以下 JavaScript 代碼

          TypeScript 設計模式之觀察者模式

          觀察者模式,它定義了一種一對多的關系,讓多個觀察者對象同時監聽某一個主題對象,這個主題對象的狀態發生變化時就會通知所有的觀察者對象,使得它們能夠自動更新自己。

          TypeScript 設計模式之單例模式

          單例模式是一種常用的模式,有一些對象我們往往只需要一個,比如線程池、全局緩存、瀏覽器中的 window 對象等。單例模式用于保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。

          TypeScript 設計模式之適配器模式

          在實際生活中,也存在適配器的使用場景,比如:港式插頭轉換器、電源適配器和 USB 轉接口。 而在軟件工程中,適配器模式的作用是解決兩個軟件實體間的接口不兼容的問題

          fly63.com版權所有,內容以共享、參考、研究為目的,不存在任何商業目的。其版權屬原作者所有,如有侵權,請與小編聯系!情況屬實本人將予以刪除!

          文章投稿關于web前端網站點搜索站長推薦網站地圖站長QQ:522607023

          小程序專欄: 土味情話心理測試腦筋急轉彎幽默笑話段子句子語錄成語大全

          国产精品高清视频免费 - 视频 - 在线观看 - 影视资讯 - 唯爱网