国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

NodeJS設計模式總結【單例模式,適配器模式,裝飾模式,觀察者模式】

來源:懂視網 責編:小采 時間:2020-11-27 22:30:53
文檔

NodeJS設計模式總結【單例模式,適配器模式,裝飾模式,觀察者模式】

NodeJS設計模式總結【單例模式,適配器模式,裝飾模式,觀察者模式】:本文實例講述了NodeJS設計模式。分享給大家供大家參考,具體如下: 1 . 單例模式 顧名思義,單例就是保證一個類只有一個實例,實現的方法是,先判斷實例是否存在,如果存在則直接返回,若不存在,則創建實例對象,并將實例對象保存在靜態變量中,當下次請求時
推薦度:
導讀NodeJS設計模式總結【單例模式,適配器模式,裝飾模式,觀察者模式】:本文實例講述了NodeJS設計模式。分享給大家供大家參考,具體如下: 1 . 單例模式 顧名思義,單例就是保證一個類只有一個實例,實現的方法是,先判斷實例是否存在,如果存在則直接返回,若不存在,則創建實例對象,并將實例對象保存在靜態變量中,當下次請求時

本文實例講述了NodeJS設計模式。分享給大家供大家參考,具體如下:

1 . 單例模式

顧名思義,單例就是保證一個類只有一個實例,實現的方法是,先判斷實例是否存在,如果存在則直接返回,若不存在,則創建實例對象,并將實例對象保存在靜態變量中,當下次請求時,則可以直接返回這個對象實例,這就確保了一個類只有一個實例對象。舉個例子吧~一間學校剛剛起建還沒有圖書館,有的同學就向領導提意見:"hey! 哥們,能不能幫我們建一個圖書館? "(想要一個圖書館實例),然后領導說:"no problem啊!等我一下,馬上建給你"(實例還沒有建立,便創建一個)。幾個月后,圖書館建好了~有位奇葩同學也想去圖書館,他卻向領導提出要求: "hey! 哥們,我想去圖書館,能不能幫我建一個?"然后領導說: "no problem個頭阿!那邊已經建好了一個,你去那間不就可以了嗎!"(當實例已經存在的時候,則直接返回已經創建的實例)

/*singleInstance.js*/
var _instance = null;//定義初始化_instance
module.exports = function(time){
 function Car(time){
 this.time = time;
 }
 this.getInstance = function(){
 if(_instance != null){
 return _instance;
 }else{
 return new Car(time);
 }
 }
}

2. 適配器模式

若將一個類的接口轉換為客戶希望的另外一個接口,適配器模式可以使原本由于接口不兼容而不能一起工作的那些類可以一起工作。舉個例子吧~小明的老爸大明很愛喝白酒,但是呢喝酒又傷身,小明看到便不忍心,于是他想了方法:把白酒瓶子里面的酒倒掉,換成了白開水(重寫內容)。大明看到還是那個酒瓶就沒太在意(接口沒有改變,只是內容改變了),一口氣就把"酒"喝完了,還很高興~(此處假設大明智商比較低..)。因此支配器是一個既不得罪他人,也能達到自己目的的一個好方法~下面是具體的實現方法

/*target.js*/
module.exports = function(){
 this.request = function(){//原接口
 console.log('Target::request');
 }
}

/*adapter.js*/
var util = require('util');
var Target = require('./target.js');
var Adaptee = require('./adaptee.js');
function Adapter(){
 Target.call(this);
 this.request = function(){//重寫原接口
 var adapteeObj = new Adaptee();//重寫的內容
 adapteeObj.specialRequest();
 }
}
util.inherits(Adapter, Target);//通過繼承原模塊, 獲得原接口
module.exports = Adapter;

3. 裝飾模式

裝飾模式可以通過繼承的方式,為一個基類對象擴展功能。舉個例子吧~一顆圣誕樹,一開始什么都沒有。然后Amy看到之后往樹上掛了幾個飾品(擴展原來的基類),然后Billy路過之后,覺得它還差點什么,就把圣誕樹拿過來(繼承),然后也往上面放點其他飾品(繼續擴展)。

/*Base.js*/
module.exports = function(){
 this.dosomething = function(){
 console.log("Nice to meet u.");
 }
}

/*Decorator.js*/
var util = require("util);
var Base = require('./Base');
function Decorator(){
 Base.call(this);
 this.dosomething = function(){
 Base.dosomething();
 console.log('I am a decorator');//拓展內容
 }
}
util.inherits(Decorator, Base);//繼承
module.exports = Decorator;

4. 觀察者模式

什么是觀察者模式呢?舉個例子吧~小狗同學和小熊同學同時喜歡上了班里可愛的小兔同學。小狗和小熊都會注意著小兔的一舉一動,只有小兔有什么動靜他們兩個都會知道~相對而言呢,小狗和小熊就是小兔的"觀察者",而小兔呢就是"被觀察的對象"。比較重要的是:小兔發生的動靜(某個函數),會同時通知到觀察者小狗和小熊,讓他們兩個也會做出相應的反饋(各自的回調函數)

/*被觀察者*/
module.exports = function(){
 var m_obserSet = [];//觀察者列表
 var _self = this;
 this.addObser = function(observer){
 m_obserSet.push(observer);//添加觀察者
 }
 this.doAction = function(){
 console.log("Observable do some action");
 _self.notifyAllObeser();
 }
 this.notifyAllObeser = function(){//發生動作
 for(var key in m_obserSet){//逐個通知觀察者
 m_obserSet[key].update();//觀察者執行回調
 }
 }
}

希望本文所述對大家nodejs程序設計有所幫助。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

NodeJS設計模式總結【單例模式,適配器模式,裝飾模式,觀察者模式】

NodeJS設計模式總結【單例模式,適配器模式,裝飾模式,觀察者模式】:本文實例講述了NodeJS設計模式。分享給大家供大家參考,具體如下: 1 . 單例模式 顧名思義,單例就是保證一個類只有一個實例,實現的方法是,先判斷實例是否存在,如果存在則直接返回,若不存在,則創建實例對象,并將實例對象保存在靜態變量中,當下次請求時
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 日本成人一区二区 | 国产精品亚洲一区二区三区久久 | 久久国产精品成人免费古装 | 欧美日韩视频一区二区在线观看 | 香蕉视频免费在线看 | 国产真实乱人视频在线看 | 欧美激情一区二区三区四区 | 91精品国产99久久 | 欧美一区二区三区日韩免费播 | www.日韩视频 | 热久久伊人| 亚洲一区二区精品视频 | 日韩午夜视频在线观看 | 欧美日韩性视频一区二区三区 | 国产国语高清在线视频二区 | 国产日本精品 | 欧美日韩专区 | 久久精品国产一区二区三区不卡 | 看全色黄大色黄女片爽毛片 | 欧美日韩国 | 国产高清在线播放免费观看 | 91精品国产色综合久久不卡蜜 | 黑人一区二区三区中文字幕 | 欧美日韩国产另类一区二区三区 | 国产在线精品一区二区三区 | 欧美日韩网址 | 亚洲欧美日韩中文v在线 | 精品久久久久久国产牛牛app | 国产aaaaa一级毛片无下载 | 国产成人精品第一区二区 | 不卡一级aaa全黄毛片 | 最新国产精品亚洲二区 | 日韩成人国产精品视频 | 91亚洲 欧美 国产 制服 动漫 | 午夜视频在线 | 久久精品福利视频 | 精品久久久久久亚洲 | 可以免费看的毛片 | 欧美日韩国产一区 | 国产综合欧美 | 国产精品亚洲一区二区三区在线播放 |