1 多角色產品,分爲廣告主和供應商,經過訂單流程管理雙方的交易行爲。這就意味組件的狀態是多變,這裏多變主要是由於一下兩個點影響前端
一:角色,每一個組件不一樣的角色會有不一樣行爲,和後臺交互的API也是不同的w 二:訂單狀態,每一個組件在不一樣的訂單狀態會有不一樣行爲
2 探索性產品,產品的方案都是摸索實踐中產生,沒有成型產品能夠借鑑,這就意味着訂單流程隨時均可能變化,隨時都要對老數據展現進行修復處理。(咱們訂單流程大的變化有過3次,每一次都必須兼容老數據的處理,頭大..)架構
架構的目的是管理複雜度,將複雜問題分爲治之,有效管理,方便後續的開發與迭代 1 經過路由切換頁面級粒度的功能模塊
2 同一頁面內的模塊再劃分 一:縱向 經過業務功能(可根據試圖模塊判斷)劃分 二:橫向:經過model-view-controller三種不一樣職能劃分 這裏根據咱們業務的特色: 1 組件的UI狀態顯示邏輯比較複雜,因此咱們將組件的顯示和數據分離,將組件分爲容器型組件和展現型組件。 容器組件負責爲展現型組件或者其餘容器組件提供數據和行爲,儘可能避免在其中作一些界面渲染相關的事情。 展現型組件獨立於應用的其它部份內容,不關心數據的加載和變動,保持職責單一,僅作視圖呈現和最基本交互行爲,經過props接收數據和回調函數輸出結果,保證接收的數據爲組件數據依賴的最小集 經過沉澱可複用的通用業務組件提供admin端,廣告主端 供應商端複用。 2 因爲面臨着後續修復數據的問題。咱們儘可能收斂數據,因此儘可能將API的控制的調用封裝在第一層的業務功能組件上。保證及時修改到全部。