美女91-美女18一级毛片免费看-美女18毛片免费视频-美女18毛片-美乃雀中文字幕在线一区-美美女高清毛片视频免费观看

蒙狼科技logo
設為首頁| 聯系我們
咨詢熱線: 13917498722
  您的位置: 首頁 > 網站資訊 > 理解javascript中的設計模式

理解javascript中的設計模式

發布日期:2017/6/14

百度權重查詢 站長交易 友情鏈接交換 網站監控 服務器監控 seo監控

可靠的設計模式是可維護軟件的基石,假如你曾參與技術面試,很有可能被問到關于設計模式的這類東西。下面這個指南中,我們將學習一些今天就可以用得著的設計模式。

什么是設計模式?

簡單來說,設計模式就是對特定類型問題重用的軟件解決方案,這些問題在軟件開發的時候經常會碰到,通過許多年的實踐,專家對一些相似地問題總結出一些方法,這些方法就封裝成為一種設計模式,所以:

模式是一種經驗證的用于解決軟件開發問題的方案。

模式是可擴展的,因為他們經常被結構化而且你需要遵循某些規則。

對于相似的問題,模式可被重用

在接下來的教程中,我們將直接給出一些設計模式的例子。

設計模式的種類

軟件開發中,設計模式通常分為幾種類別,在這篇教程中我們重點介紹以下三種:

1、創建型模式專注于構建對象或者類,對象的創建聽起來很簡單(在某些情況下),但是大型應用需要控制對象的創建過程。

2、結構型設計模式專注于管理對象之間的關系使得應用是用一種可擴展的架,,結構型模式關鍵點是確保在應用程序中部分改變不會影響其他部分。

3、行為模式專注于對象間的通信

你可能在讀完這些簡介的描述后仍然覺得有問題,這很正常,一旦我們看完了這些模式的深入介紹后,問題也會變得明朗起來,所以接著往下看吧。

類在javascript中的注重點:

當我們讀設計模式時,你經常會提及到類和對象。這很疑惑,因為javascript沒有真正“類”的構造,一個更合適的術語叫“數據類型”。

javascript中的數據類型:

javascript是一門面向對象的語言,一個對象繼續自其他對象,這個概念以原型繼續著稱。一個數據類型可以通過構造函數創建,就像:

function Person(config) {

this.name = config.name;

this.age = config.age;

}

Person.prototype.getAge = function() {

return this.age;

};

var tilo = new Person({name:“Tilo”, age:23 });

console.log(tilo.getAge());

當方法定義在Person數據類型中時注重prototype的使用,因為多個Person對象將引用統一個prototype,這樣就許可 getAge()方法可以被所有的Person數據類型的實例共享。而不是每個實例都重新定義一次,除此之外,任何繼續自Person的數據類型都可以訪問getAge()方法。

處理私稀有據

在javascript中另一個常見的問題是沒有真正意義上的私有變量,然而我們可以使用閉包

去模擬私有變量,考慮下面這代碼片段:

var retinaMacbook = (function() {

//Private variables

var RAM, addRAM;

RAM = 4;

//Private method

addRAM = function (additionalRAM) {

RAM += additionalRAM;

};

return {

//Public variables and methods

USB: undefined,

insertUSB: function (device) {

this.USB = device;

},

removeUSB: function () {

var device = this.USB;

this.USB = undefined;

return device;

}

};

})();

在上面這個例子中,我們創建了一個retinaMacbook對象,含有公有和私有變量及方法,可以這樣來使用它:

retinaMacbook.insertUSB(“myUSB”);

console.log(retinaMacbook.USB); //logs out “myUSB”

console.log(retinaMacbook.RAM) //logs out undefined

在javascript中函數和閉包可以做更多的事,但是我們在這個教程中沒法涉及到方方面面,我們簡短的學習了javascript的數據類型和私有變量。現在我們可以學習設計模式了。

創建型設計模式:

有許多種不同的創建設計模式,但是在這里我們主要討論兩種,建造模式(Builder)和原型模式(Prototype)。

建造模式:

建造模式通常用于web開發,有時你在使用它你卻還沒意識到。簡而言之,這個模式可以定義如下:

“使用建造模式許可我們僅僅通過指定類型和內容來構造一個對象,我們不需要明確的創建對象。”

例如,你可能無數次的使用jQuery:

var myDiv = $(‘<div id=“myDiv”>This is a div.</div>’);

//myDiv now represents a jQuery object referencing a DOM node.

var someText = $(‘<p/>’);

//someText is a jQuery object referencing an HTMLParagraphElement

var input = $(‘<input />’);

看看上面這三個例子,個,傳遞了一個<div/>元素附帶一些內容,第二個,傳遞一個空的<p>標簽,第三個,傳遞一個<input/>元素。這三個例子的效果都是一樣的:返回一個jQuery對象的引用指向一個DOM節點。

1 2 下一頁



其他相關文章
  • 高手解迷IIS日志200 0 64
  • 網絡推廣誤區
  • 動了這些你的網站會有飛一般的改變
  • Joomla教程查看并修改模板的CSS技巧
  • 試想,360的發展離百度還有多遠  還記得,當時360面世的時候,好喜悅的莫過于站長們了,終于在搜索界看到了曙光,不再單單靠看百度的眼色了,互聯網終于有了一點新穎的空氣了,這讓壓制的站長們終于有
  • KesionCmsV5.01自定義sql標簽判斷




  • 企業網站后臺使用
    購物網站后臺使用
    網站產品圖片的處理



    農業銀行支付
    建設銀行支付
    郵政儲蓄銀行支付



    企業網站建設
    整站建設
    購物網站



    企業網站建設建議
    注冊適合自己的域名
    什么是虛擬主機




    售前咨詢QQ: 838821345
    售后服務QQ: 464698733
    應急手機:13917498722


    微信掃一掃
    添加24小時微信客服


    郵箱:lang@MENGL.CN
    地址:上海寶山區城銀路555弄2號樓3樓
    ICP備案:滬ICP備12042844號-3
     滬公網安備:31011402002917號
    做網站 | 企業網站建設 | 上海做網站 | 企業網站制作 | 做網站的公司 | 關于蒙狼 | 整站建設 | 購物網站 | 企業網絡營銷 | 成功案例 | 加盟代理 | 在線訂單
    服務區域: 臨港新區做網站 徐匯做網站 閔行做網站 長寧做網站 虹口做網站 黃浦做網站 盧灣做網站 靜安做網站 浦東做網站 楊浦做網站 普陀做網站 閘北做網站 寶山做網站 嘉定做網站 松江做網站 昆山做網站
    Copyright 2012-2025 上海蒙狼網絡科技有限公司 m.aqdzp.cn All Rights Reserved
    主站蜘蛛池模板: 国产精亚洲视频 | 国产综合精品在线 | 中文字幕国产亚洲 | 日本亚洲欧洲高清有码在线播放 | 欧美一区欧美二区 | 成年人在线视频网站 | 亚洲成人高清在线 | 日韩欧美手机在线 | 五十路一区二区三区视频 | 久久久久国产精品免费免费不卡 | 黄色大片免费看 | 成人毛片视频免费网站观看 | 亚洲一区日韩一区欧美一区a | 国产精品亚洲一区二区麻豆 | 国产精品日本一区二区在线播放 | 久久久久久久国产精品影院 | 福利片午夜 | 煌瑟美女网站免费 | 在线成人国产 | 国产va免费精品高清在线观看 | 日韩深夜 | 三级毛片在线播放 | 欧美精品黄页免费高清在线 | 成人性免费视频 | 亚洲性网 | aaa级片| 中文字幕网站在线 | 四虎网站在线观看 | 日本一级毛片免费完整视频2020 | 18以上岁毛片在线播放 | 日韩高清在线日韩大片观看网址 | 国产精品理论片在线观看 | 久久免费毛片 | 亚洲最大免费视频网 | 免费看一级黄色 | 日韩三级网址 | 欧美高清激情毛片 | 成人毛片免费视频 | 在线欧美精品二区三区 | 全部免费的毛片在线看美国 | 青草社区在线观看 |