設計模式之門面模式

2021-09-19 11:10:58 字數 1637 閱讀 2307

外觀模式定義了乙個高層介面,讓子系統更容易使用

結構性場景:

有個**允許使用者用自己的積分來兌換商店內禮物,兌換需要經過校驗積分,支付積分,生成訂單的過程,單對呼叫兌換積分的介面來說不用關心裡面的三個過程,只需關心呼叫兌換積分的介面;

新建積分兌換禮物實體類:

package com.tangbaobao.design.pattern.cretional.structral.faced;

/** * @author tangxuejun

* @version 2019-04-21 16:33

*/public

class

pointsgift

public string getname()

public

void

setname

(string name)

@override

public string tostring()

';}}

積分支付校驗類:

package com.tangbaobao.design.pattern.cretional.structral.faced;

/** * @author tangxuejun

* @version 2019-04-21 16:33

*/public

class

qualifyservice

}

積分支付和兌換服務

package com.tangbaobao.design.pattern.cretional.structral.faced;

/** * @author tangxuejun

* @version 2019-04-21 16:36

*/public

class

pointpaymentservice

}

生成訂單

package com.tangbaobao.design.pattern.cretional.structral.faced;

/** * @author tangxuejun

* @version 2019-04-21 16:38

*/public

class

shippingservice

}

聚合以上服務,來對外提供介面:

package com.tangbaobao.design.pattern.cretional.structral.faced;

/** * @author tangxuejun

* @version 2019-04-21 17:24

*/public

class

giftexchangeservice}}

}

上述生成的uml圖:

可見giftexchangeservice服務作為門面介面,遮蔽了外界和內部其他三個介面的訪問,很好的符合迪公尺特法則。

設計模式之門面模式

coding gbk coding utf 8 author edgar 這是門面模式的乙個應用場景。具體故事情節請見 設計模式之禪 門面模式把一套方法封裝起來,使用者不需要知道具體的實現細節。class letterprocessimpl object def writecontext self,...

設計模式之門面模式

模式定義 為子系統中的一組介面提供乙個統一的高層介面,使子系統更容易使用。該模式通過外觀介面與子系統 互動,而不與具體的子系統中的細節互動。分層結構 mvc web應用中的三層結構 遵循原則 迪公尺特原則 最少知識原則,你不需要知道的你就不要知道,你知道幹什麼?封裝變化部分。適用場合 1 乙個系統複...

設計模式之門面模式

在許多開源的框架中都充分的利用了設計模式這一概念,struts典型的mvc模式的化身,spring是工廠模式和單例模式的充分體現。在專案開發中,能充分利用設計模式的思想來考慮問題,來解決問題,來通過 去實現。不但可以提高 的質量,對程式的擴充套件,重用帶來很大方便。其實我們專案中用設計模式程式設計就...