一些設計模式的例項

2021-10-04 01:48:20 字數 1593 閱讀 2933

1.單例模式

class

msginit

(str)

}var singlecase =

(function()

instance.

init

(text)

;return instance;}}

)();

// m1和m2顯示的是在同乙個盒子裡

var m1 =

singlecase

("hello");

var m2 =

singlecase

("world");

console.

log(m1===m2)

;//ture

2.組合模式

function

computer()

; computer.prototype.

init

=function()

function

phone()

; phone.prototype.

init

=function()

functiontv(

);tv.prototype.

init

=function()

function

zuhe()

// 用來放所有的物件

zuhe.prototype.

add=

function

(task)

// 當統計好所有物件後開始執行

zuhe.prototype.

action

=function()

}var c =

newzuhe()

; c.

add(

newcomputer()

);c.

add(

newphone()

);c.

add(

newtv()

);c.

action()

;

3.觀察者模式

function

stu(n)

else}}

function

teac

(n)是好孩子`);

}else

一巴掌`);

}}}function

teac2

(n)else

揪起來,叫家長`);

}}}var s =

newstu

("張三");

var t = s.

type()

;var t1 =

newteac

("班主任");

t1.listen

(t, s.name)

;var t2 =

newteac2

("教導主任");

t2.listen

(t, s.name)

;

設計模式 一些概念

為乙個相關或相依賴的物件家族提供統一的建立介面,並無需指定實體類。剛才是設計模式藝術中摘要中為抽象工廠模式所定義的問題 每個模式都描述著一種在我們的環境中一遍又一遍地出現的問題,並描述了對該問題的核心解決方案。以此方式你可以使用該方案上百萬次,而不需要重複的做同樣的事情 乙個設計模式的核心 命名,問...

iOS中的一些設計模式

the most important design pattern model view controller 理解model,view,controller之間的通訊方式 被 物件必須定義乙個屬性,用來儲存對 物件的引用 通常為weak 同時應該定義乙個 物件要遵守的協議 protocol ena...

之前看的一些設計模式

工廠方法是選擇單個產品的實現,雖然乙個類裡面可以有多個工廠方法,但是這些方法之間一般是沒有聯絡的,即使看起來像有聯絡。類似於控制反轉或依賴注入。本質是延遲到子類來選擇實現。package com.guo.task 工廠方法,建立c1,類似於從子類注入進來的途徑 author guo public a...