程式設計思想 Design Pattern 設計模式

2021-10-04 01:29:42 字數 2848 閱讀 9387

1. 構造器模式

//constructor es5

function

student

(name, gender, score)

}student.prototype.

sumscore

=function()

//使用原型繫結事件

var lidan =

newstudent

('李誕'

,'男',65

);consle.

log(lidan.name,lidan.sumscore)

;//constructor es6

class

student

sumscore()

}var lidan =

newstudent

('李誕'

,'男',65

);consle.

log(lidan.name,lidan.sumscore)

;

2. 構建者模式
//es5

//constructor es5

function

student()

function

studentbuilder()

studentbuilder.prototype.

setname

=function

(name)

studentbuilder.prototype.

setgender

=function

(gender)

studentbuilder.prototype.

sethairlength

=function

(hairlength)

studentbuilder.prototype.

build

=function()

var lidan =

newstudentbuilder()

;lidan.

setname

('李誕');

lidan.

setgender

('男');

lidan.

sethairlength(2

);lidan.

build()

;//es6

//constructor es6

class

student()

class

studentbuilder()

setname

(name)

setgender

(gender)

sethairlength

(hairlength)

build()

}const lidan =

newstudentbuilder()

;lidan.

setname

('李誕');

lidan.

setgender

('男');

lidan.

sethairlength(2

);lidan.

build()

;

3. 工廠模式
//es5

function

student

(name, subjects)

//var lidan = new student('李誕', ['政治', '歷史', '地理']);

/** * 建立學生

* @param name 姓名

* @param type 文科還是理科

* @return

*/function

factory

(name, type)

}var lidan =

factory

('李誕'

,'文科'

);

4. 抽象工廠模式
function

student

(name)

function

teacher

(name)

function

studentfactory()

function

teache***ctory()

/** * 選擇工廠

* @param factory

* @return

*/function

userproducer

(factory)

}var factory =

userproducer

('student');

var lidan =

factory

('李誕');

//var lidan = userproducer('student')('李誕');

console.

log(lidan)

5. 單例模式
function

resource()

else

}var r1 =

newresource()

;console.

log(r1.balance)

;r1.balance =50;

console.

log(r1.balance)

;var r2 =

newresource()

;console.

log(r2.balance)

;r1.balance =55;

console.

log(r2.balance)

;

程式設計思想

pop面向過程的程式設計思想把電腦程式看作是一組命令的集合,即一組函式的順序執行。面向過程設計時,將整個程式切分成幾個函式模組,每乙個模組負責解決乙個問題。oop把物件作為程式的基本單元,乙個物件包含了資料和運算元據的方法 method 物件導向的程式設計把電腦程式視為一組物件的集合,每個物件都可以...

traits程式設計思想

首先引用書上的一句話 stl中心思想是把資料容器和演算法分開。迭代器是兩者結合的關鍵,那麼我們演算法當然是通過迭代器來對容器操作了,但是我們在演算法中經常需要得到迭代器的相應型別 比如 迭代器說指向的型別。那麼怎麼得到這些型別呢,當然你可以通過函式模板實現部分功能,也可以通過在迭代器裡自定義這些型別...

AOP程式設計思想

面向切面程式設計 這是最近接觸到的思想。看名字感覺很新奇,其實就是在底層實現攔截呼叫。通俗點,如果你不小心踩到狗屎,心理不平衡時,你可以在人人都會走過的路上放一坨狗屎,這樣,路過的人都會踩到狗屎。這樣你就實現了面向切面程式設計 個人理解 關鍵字 切面,攔截。用途 操作日誌,許可權驗證等。老規矩介面先...