策略模式和責任鏈模式

2021-10-25 02:18:22 字數 1898 閱讀 9845

策略模式,就是為了解決像有很多if else這樣的**

**如下(示例):

/**

* 公共策略

*/public

inte***ce

istratery

public

class

straterya

implements

istratery

}

public

class

strateryb

implements

istratery

}

public

class

strateryc

implements

istratery

}

public

class

abstractstratery

static

void

invoke

(string name)

}}

測試一下

比如說登入,校驗,許可權這一系列操作,假設乙個場景,員工離職,層層遞進,我們使用建造者模式加責任鏈模式試試。

/**

* 抽象鏈

*/public

abstract

class

abstractchain

public

void

dochain

(string name)

public

static

class

buider

this

.tail.

next

(chain)

;this

.tail=chain;

return

this;}

public abstractchain

build()

}}

public

class

boss

extends

abstractchain

}

/**

* 人力

*/public

class

employeea

extends

abstractchain

else

}}

/**

* 人力

*/public

class

employeeb

extends

abstractchain

else

}}

/**

* 人力

*/public

class

employeec

extends

abstractchain

}

測試一下

責任鏈模式和外觀模式

1.責任鏈設計模式 使多個物件都有機會處理請求,將這些物件連成一條鏈,並沿著這條鏈處理該請求,只道有物件處理他為止。2.門面設計模式 要求乙個子系統的外部與其內部通訊必須通過乙個統一的物件進行,又稱之為外觀模式,提供乙個高層次的介面,使得子系統更易於使用。說白了就是方法封裝。userinfo使用者資...

責任鏈模式

責任鏈模式 chain of responsibility 的目標是使多個物件都有機會處理請求,從而避免請求的傳送者和接收者之間的耦合關係。將這些物件連成一條鏈,並沿著這條鏈傳遞請求,直到有乙個物件處理它為止。舉個例子。你到銀行去辦理業務,只是簡單的存個錢,也許atm就解決你的問題。如果你是為了交費...

責任鏈模式

有3個request與3個handler,每個request由相應的handler來處理,當乙個handler與request不匹配時則傳遞給下乙個handler來處理 inte ce request class request1 implements request class request2 ...