js 設計模式

2021-09-26 18:57:04 字數 2037 閱讀 4854

設計模式就是一套被反覆使用的、多數人知曉的、經過分類編目的、**設計經驗的總結。使用設計模式是為了重用**、讓**更容易被他人理解、保證**可靠性。其實就是前人總結的,針對特定型別問題的設計方案。

總體來說設計模式分為三大類:

建立型模式:共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。

結構型模式:共七種:介面卡模式、裝飾器模式、**模式、外觀模式橋接模式、組合模式、享元模式。

行為型模式:共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式。

1、工廠模式:

即,函式裡面返回單個物件。缺點就是建立多個物件,無法區分物件型別。

function factory() 

return obj;

}//使用

var person = factory("毛豆", "男", 18);

var person1 = factory("小黑", "女", 18);

console.log(person);

console.log(person1);

2、建構函式模式:在函式上直接寫物件,在未被例項化之前this指代window,例項化後,指當前的物件,建構函式一般在類被例項化的時候執行,constructor相當於後端class類裡的構造。

function person() 

}//例項化物件 相當於在重新new的時候重新宣告

//優點是可以區分型別 person

var son = new person("毛豆", "男", 18);

var son1 = new person("小花", "男", 18);

console.log(son, son1);

3、混合模式:純原型模式,可以實現原型屬性的共享,但不能傳遞引數,原型+建構函式的混合模式,可以互補,實現屬性共享+引數傳遞。

function animal() 

//原型追加

/* animal.prototype.name="小花";

animal.prototype.***="公";

animal.prototype.eat=function ()

animal.prototype.sleep=function ()*/

animal.prototype = ,

sleep: function () ,

info: function ()

}//例項化這個類

//原型模式 會導致所有的原型屬性以及方法全部共享

var cat = new animal("喵喵", "母", "貓科");

var mouse = new animal("公尺奇", "公", "鼠科");

console.log(cat, mouse);

function animal(name, age, job) ;}}

var snack = new animal("小蛇", 2, '爬');

console.log(snack);

5、單例模式:返回乙個物件。保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。

function instance(name, ***, age) 

if (instance == null)

return instance;

}var cat = instance("咪咪", "母", 2);

console.log(cat);

6、模組模式:相當於**塊的封裝

var model = (function () 

function person()

if (person == null)

if (instance == null)

return

})()

console.log(model);

JS設計模式

什麼是模式?什麼是設計模式?設計模式是解決軟體設計常見問題的可復用方案 什麼是反模式?反模式是一種針對某個特定問題的不良解決方案,該方案會導致槽糕的情況發生 單例模式?皇帝單例模式 var kingsingleton function return 皇帝存在返回皇帝 return instance ...

js 設計模式

1.單例模式 保證乙個類只有乙個例項,並提供乙個訪問它的全域性訪問點 呼叫乙個類,任何時候返回的都是同乙個例項 class singleton getname static getinstance name return this.instance const instancea singleton...

js 設計模式

廣義上,模式是乙個可以用來產生其他事物的模板或者模型。在軟體開發過程中,模式是指乙個通用問題的解決方案,用抽象化表示和解決一類問題的模板。學習設計模式,有助於寫出可復用和可維護性高的程式 設計模式的原則是 找出 程式中變化的地方,並將變化封裝起來 1.工廠模式 即,函式裡面返回單個物件。缺點就是建立...