国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

狀態決定視圖——基于狀態的前端開發思考

移動開發 開發
自己在前一段時間里,陷入了如何寫好代碼的困惑之中,在學習了《重構》、《代碼整潔之道》等知識之后,確實有一些好轉。但是寫代碼總是要重構才能好一些些,也是很麻煩的事情,于是就有了如下的思考。

在現在的前端社區,關于MVVM、Model driven view 之類的概念,已經算是非常普及了。React/Vue 這類框架可以算是代表。

而自己雖然有 React/Vue 的使用經驗,也了解 MVVM,狀態機等核心概念,但是卻一直沒有很好的應用。

直到前幾天接手一個組件開發的需求,寫之前嘗試細細分析時,才突然想通這之間的聯系。

Emmm……內容比較淺,并不是什么了不得的神兵利器。更多的是個人的感悟。

個人困惑

自己在前一段時間里,陷入了如何寫好代碼的困惑之中,在學習了《重構》、《代碼整潔之道》等知識之后,確實有一些好轉。但是寫代碼總是要重構才能好一些些,也是很麻煩的事情,于是就有了如下的思考。

前端與狀態

現在的前端開發中,對于狀態的管理是重中之重。

而使用 React/Vue 這類 MVVM 框架,通過組件化、自動綁定等方式,能有效降低前端開發時的復雜度。

MVVM

提到狀態就不得不提到MVVM框架,而MVVM的框架的核心,并不是雙向綁定或者依賴收集什么的,而是: 狀態決定視圖 。

用代碼描述就是:

View = ViewModel(Model)

理想情況下,ViewModel是純函數,給定相同的Model,產出相同的View。

隨著前端的發展,Web應用的狀態管理愈發復雜,然而由于前端的一些特性:

  • 代碼開源
  • 請求透明
  • 不保存用戶數據

也決定了前端只負責整個Web應用上的視覺和交互層,凡是涉及到數據的,后端必然要做嚴謹的校驗,不相信任何前端的請求。

所以前端的核心工作,就是提供一個友善的人機交互的操作界面。當然,這也符合廣義上的前端定義。

而 MVVM 的出現,能有效的提高前端開發的效率和品質,從而得到了大規模的發展與應用。

復雜度

在《代碼大全2》這本書中,有句讓我印象深刻的話:

軟件工程的本質即是管理復雜度。

細細想來,也確實是如此。

前端開發自然也屬于軟件開發,管理復雜度恰恰也是前端目前的核心問題。

有限狀態機

那么如何更好的管理前端軟件的復雜度? React 的狀態機思想給出了自己的答案。

狀態機是我在學習計算機中,時常聽到的一個概念,比如學 React 時,會提到 React 就是個狀態機,聽團隊關于編譯原理的分享時,也會聽到狀態機。所以就去專門補習了這個概念。

有限狀態機在維基百科上的描述如下:

有限狀態機(英語:finite-state machine,縮寫:FSM)又稱有限狀態自動機,簡稱狀態機,是表示有限個狀態以及在這些狀態之間的轉移和動作等行為的數學模型。

 

有限狀態機

有限狀態機并不是一個復雜的概念

簡單說,它有三個特征:

  • 狀態總數(state)是有限的。
  • 任一時刻,只處在一種狀態之中。
  • 某種條件下,會從一種狀態轉變(transition)到另一種狀態。
    它對JavaScript的意義在于,很多對象可以寫成有限狀態機。

啟示

隨著對狀態決定視圖與狀態機兩個概念的學習與思考,于是有了新的思路:

狀態決定視圖,Action則負責完成狀態間的轉移,那么寫好代碼的核心在于,用最恰當的狀態去描述界面,用最恰當的動作去完成狀態間的轉移。

Emmm……很簡單的概念,但是自己之前一直沒有想的很清楚。

總結

隨著對這個概念的了解,自己在開發時的思路也愈發的清晰化。

自己現在寫代碼之前,會思考一系列問題,想清楚再下手:

  • 這個頁面有幾種狀態(初始化狀態?成功狀態?失敗狀態?出錯狀態?)
  • 描述這些狀態需要什么參數
  • 在什么時候轉變狀態,需要改變哪些部分

把這些問題想清楚了,剩下的工作就是跟著思路,完成數據與UI部分。

責任編輯:張子龍 來源: Lxxyx的前端樂園
相關推薦

2021-04-29 09:31:05

前端開發技術

2022-12-23 10:36:04

前端React

2010-06-18 12:38:38

UML狀態機視圖

2010-06-18 13:25:44

UML狀態機視圖

2022-05-03 00:03:11

狀態管理前端開發

2009-08-04 15:13:38

2025-10-29 07:38:45

2009-08-07 11:12:58

ASP.NET控件開發

2017-09-20 09:58:21

數據庫“狀態”字段設計

2010-07-12 15:00:56

UML狀態機視圖

2024-04-30 11:14:19

KubernetesReplicaSet數量

2014-12-03 09:56:54

編程

2010-07-12 15:09:20

UML狀態機視圖

2014-05-21 11:09:56

前端有限狀態機

2021-07-01 15:56:42

深度學習人工智能互聯網

2009-06-26 10:06:00

游離狀態Hibernate

2023-10-26 07:15:46

2020-06-30 08:41:38

HTTP無狀態協議

2011-07-12 15:03:28

2024-11-28 11:07:50

線程JVM操作系統
點贊
收藏

51CTO技術棧公眾號

久久久久久77777| 久操视频在线| 超碰在线观看免费| 欧美一区二区三区四区在线观看| 国产精品99久久精品| 黄色成人在线| 亚洲免费一级电影| 精品少妇一区二区三区 | 一区二区三区日本| 久久精品欧美日韩| 亚洲小说欧美激情另类| 中文字幕一区二区在线播放| 日韩资源在线观看| 欧美成人福利在线观看| 日本精品另类| 久久福利资源站| 国产精品99久久久久久似苏梦涵| 欧美激情第6页| 波多野结衣在线中文| 国产精品传媒精东影业在线| 日韩免费在线看| 免费免费啪视频在线观看| 久久一区二区精品| wwwxxx黄色片| 亚洲国产精品免费视频| 国产精品黄色在线观看| 性欧美xxxx| 欧美黄色小说| 日本一区二区动态图| 久久久久久久国产精品视频| 亚洲男人资源| 黄色视屏免费在线观看| 亚洲色图综合久久| 传媒在线观看| 久久久久午夜电影| 欧美日韩国产系列| 国产精品视频26uuu| 五月天丁香综合久久国产| 亚洲校园欧美国产另类| 成人欧美大片| 亚洲日产国产精品| 精品99999| 国产 日韩 欧美在线| 9999热视频在线观看| 激情久久一区二区| 一色屋精品亚洲香蕉网站| 欧美精品videosex牲欧美| youjizz亚洲| 最近2019中文字幕在线高清| 四虎电影院在线观看| 欧美日韩亚洲综合在线| 久色视频在线播放| 国产精品社区| 精品亚洲国产视频| 激情乱色小说视频| 国产xxx精品视频大全| 一区二区三区日韩在线| 国产乱人伦精品一区二区三区| 欧美性爽视频| 午夜激情久久久| 天堂在线免费av| 成人国产精品色哟哟| 99久久99久久精品国产片| 欧美有码在线观看| 久久久亚洲影院| 欧美aⅴ99久久黑人专区| 无遮挡在线观看| 玖玖精品在线| 一区二区欧美在线| 欧美伦理影视网| 欧美一区二区三区在线观看 | 亚洲电影在线看| 亚洲精品www久久久| 韩日在线视频| 一区二区免费视频| 亚洲一区在线| 中文字幕亚洲欧美在线 | 一本久道综合色婷婷五月| 国产欧美日韩综合一区在线播放 | 最新日韩中文字幕| 日韩av在线播放不卡| 国产精品久久久久久久久动漫| jizzyou欧美16| 亚洲自拍欧美精品| 欧美在线极品| 毛片一区二区| 久久久久久久久久久91| 精品国产一区二区三区| 亚洲欧美自拍偷拍| 在线观看成人影院| 欧美精品hd| 欧美日韩国产一级片| 亚洲www免费| 欧美国产在线观看| 日韩精品久久久| 日本美女一区| 在线精品国产欧美| 国产欧美日产一区| 日韩欧美久久| 国产女主播一区| 国产一区免费观看| 欧美美乳视频| 欧美精品aaa| 青青草91视频| 日韩三级电影| 精品日韩中文字幕| 青青草在线播放| 成人欧美一区二区三区小说| 黄视频在线免费看| 日韩精品免费在线视频观看| 国产啊啊啊视频在线观看| 成人黄色av网站| 欧美国产一区二区在线观看| 在线观看网站免费入口在线观看国内| 国产麻豆日韩| 一本久久a久久精品亚洲 | 精品国内自产拍在线观看视频| av网站大全免费| 成人精品小蝌蚪| 亚洲精品国产精品久久清纯直播| 欧美有码在线| 国产精品自在线| 欧美久久视频| 裸模一区二区三区免费| 亚洲v中文字幕| 色先锋久久影院av| 成人免费看片网址| 久久精品亚洲| gogogo高清在线观看免费完整版| 666欧美在线视频| 交100部在线观看| 亚洲视频欧洲视频| 久久国产尿小便嘘嘘| 手机av在线播放| 色七七影院综合| 国产精品小仙女| 2020中文字幕在线| 高清一区二区三区四区五区| 91在线视频网址| 久草网在线视频| 91精品国产91综合久久蜜臀| 亚洲视频中文| 蜜桃视频一区二区在线观看| 精品视频在线播放| 福利一区福利二区| 欧美高清影院| 3344永久| 91精品国产一区二区三区动漫| 久久er99热精品一区二区| 春色校园综合激情亚洲| 三级网在线观看| 亚洲综合久久av| 99精品在线免费在线观看| 亚洲欧洲成人| 久久国产精品高清| 国产日韩欧美一区二区三区乱码| 免费观看亚洲天堂| 99久久精品无码一区二区毛片| 欧美日韩和欧美的一区二区| 日本亚洲三级在线| 成人在线啊v| 欧美精彩一区二区三区| 久久人人97超碰com| 国产中文字幕在线视频| 精品一区二区三区视频日产| 国产女人18水真多18精品一级做 | 成年丰满熟妇午夜免费视频| 久久九九全国免费精品观看| 欧美日韩影院| av电影免费在线看| 成人免费在线小视频| 欧美亚洲国产一区二区三区va| 日韩国产91| 久久综合婷婷综合| 日韩av在线免播放器| 91色porny蝌蚪| 污视频免费在线观看| 免费不卡av在线| 国产精品91久久久| fc2成人免费人成在线观看播放| av在线天堂| 日本天堂免费a| 国产精品一区二区三区毛片淫片 | 麻豆成人在线看| 在线一区欧美| 黄网站色大毛片| 精品一区2区三区| 丝袜美腿精品国产二区| 福利微拍一区二区| 国产一区二区美女诱惑| 麻豆av免费在线观看| 国产精品igao激情视频| 国产精品欧美激情| 亚洲欧美在线免费观看| 精品欧美一区二区三区| 成人av免费在线观看| 欧美日韩一区二区国产| jazzjazz国产精品久久| 女人高潮被爽到呻吟在线观看| 伊人75在线|