|
您的位置: 首頁 > 網站資訊 > 理解javascript中的設計模式 |
理解javascript中的設計模式發布日期:2017/6/14
百度權重查詢 站長交易 友情鏈接交換 網站監控 服務器監控 seo監控 可靠的設計模式是可維護軟件的基石,假如你曾參與技術面試,很有可能被問到關于設計模式的這類東西。下面這個指南中,我們將學習一些今天就可以用得著的設計模式。 什么是設計模式? 簡單來說,設計模式就是對特定類型問題重用的軟件解決方案,這些問題在軟件開發的時候經常會碰到,通過許多年的實踐,專家對一些相似地問題總結出一些方法,這些方法就封裝成為一種設計模式,所以: 模式是一種經驗證的用于解決軟件開發問題的方案。 模式是可擴展的,因為他們經常被結構化而且你需要遵循某些規則。 對于相似的問題,模式可被重用 在接下來的教程中,我們將直接給出一些設計模式的例子。 設計模式的種類 軟件開發中,設計模式通常分為幾種類別,在這篇教程中我們重點介紹以下三種: 1、創建型模式專注于構建對象或者類,對象的創建聽起來很簡單(在某些情況下),但是大型應用需要控制對象的創建過程。 2、結構型設計模式專注于管理對象之間的關系使得應用是用一種可擴展的架,,結構型模式關鍵點是確保在應用程序中部分改變不會影響其他部分。 3、行為模式專注于對象間的通信 你可能在讀完這些簡介的描述后仍然覺得有問題,這很正常,一旦我們看完了這些模式的深入介紹后,問題也會變得明朗起來,所以接著往下看吧。 類在javascript中的注重點: 當我們讀設計模式時,你經常會提及到類和對象。這很疑惑,因為javascript沒有真正“類”的構造,一個更合適的術語叫“數據類型”。 javascript中的數據類型: javascript是一門面向對象的語言,一個對象繼續自其他對象,這個概念以原型繼續著稱。一個數據類型可以通過構造函數創建,就像:
當方法定義在Person數據類型中時注重prototype的使用,因為多個Person對象將引用統一個prototype,這樣就許可 getAge()方法可以被所有的Person數據類型的實例共享。而不是每個實例都重新定義一次,除此之外,任何繼續自Person的數據類型都可以訪問getAge()方法。 處理私稀有據 在javascript中另一個常見的問題是沒有真正意義上的私有變量,然而我們可以使用閉包 去模擬私有變量,考慮下面這代碼片段:
在上面這個例子中,我們創建了一個retinaMacbook對象,含有公有和私有變量及方法,可以這樣來使用它:
在javascript中函數和閉包可以做更多的事,但是我們在這個教程中沒法涉及到方方面面,我們簡短的學習了javascript的數據類型和私有變量。現在我們可以學習設計模式了。 創建型設計模式: 有許多種不同的創建設計模式,但是在這里我們主要討論兩種,建造模式(Builder)和原型模式(Prototype)。 建造模式: 建造模式通常用于web開發,有時你在使用它你卻還沒意識到。簡而言之,這個模式可以定義如下: “使用建造模式許可我們僅僅通過指定類型和內容來構造一個對象,我們不需要明確的創建對象。” 例如,你可能無數次的使用jQuery:
看看上面這三個例子,個,傳遞了一個<div/>元素附帶一些內容,第二個,傳遞一個空的<p>標簽,第三個,傳遞一個<input/>元素。這三個例子的效果都是一樣的:返回一個jQuery對象的引用指向一個DOM節點。 1 2 下一頁 |
其他相關文章 |
|
|
|
|||||||||
Copyright 2012-2025 上海蒙狼網絡科技有限公司 m.aqdzp.cn All Rights Reserved |