這篇文章主要介紹了對javascript客戶端應用編程的一些建議,主要針對mvc框架框架的一些相關使用問題,需要的朋友可以參考下你可能注意到了,最近的一段時間越來越多的web應用有變復雜的趨勢,重心從服務端慢慢向著客戶端轉移。
這是個正常的趨勢么?我不知道。支持和反對者的討論就像是在討論復活者和圣誕節(jié)哪一個更好一樣; 很難說哪一方觀點就是完全正確的。
因此,本文不會探討究竟哪一方是對的,不過我還是試圖解釋一下使用大家所熟知的面向對象編程也許可以成功的解決客戶端編程中存在的一些問題。不太規(guī)范的代碼的示例為了顧及一個應用的響應以及用戶體驗, 導致我們創(chuàng)建了持續(xù)增長的復雜的代碼, 這些代碼變得難于理解和維護。
你可以輕松的想到在沒有任何構架和遵循規(guī)則構建出客戶端的javascript應用代碼將會這樣: ?
維護這一類的代碼將會很難。因為這短短的一段代碼與很多地方都有關聯(lián): 它控制著很多的事件 (站點, 用戶, 網(wǎng)絡事件), 它要處理用戶的操作事件, 要解析服務器返回的應答并且產生html代碼。 有人可能說: “是的,你說的對, 但是如果這不是一個客戶端單頁的頁面應用?這最多算是一次過度使用jquery類庫的例子” ——不是很有說服力的觀點, 因為眾所周知,易于維護和精心設計的代碼是非常重要的。特別是許多的工具或者是框架致力于保持代碼可用以便于我們能更簡單的去測試、維護、重用、和擴展它。
mvc是什么?
談到這里。我們能受益于那些基于mvc的javascript框架,但這些框架大部分不使用mvc,并且相當于model和videw的一種結合,或者在二都之間的一些東西,這很難去分清。這就是為什么說大部分的javascript框架是基于mv*。
改變方法或許可以提供項目中客戶端的組織和架構,這使得代碼可以在很長的一段時間內容易維護,即使重構已經有的代碼也變得相對容易。知道他如何工作和下面一些問題的答案是必需要要記住的。
我的應用里有哪些類型的數(shù)據(jù)?-model
用戶應該看到什么?-view
誰是和用戶交互的程序?-controller
使用mvc框架重構代碼
受用mvc重構代碼有什么好處?
解除dom和ajax的依賴
代碼有更好的結構,并且更容易測試。
從 $(document).ready()中刪除多余的代碼,只留下使用model創(chuàng)建links的部分。
讓我們使用一些簡單步驟來重構一個典型的代碼塊
步驟 1: 創(chuàng)建視圖并移動ajax請求
我們開始解除dom和ajax的依賴. 使用prototypes建造者,模式創(chuàng)建'animals' 對象,并且添加一個 'add' 方法.同時創(chuàng)建視圖 'newanimalview' , 并且添加方法'addanimal'、 'appendanimal' 、'clearinput'.
代碼如下:
?
更多信息請查看IT技術專欄