策略模式,就是為了解決像有很多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 ...