JAVA的23種設計模式 門面模式

2021-08-01 23:20:36 字數 1824 閱讀 2419

1.該文章闡述了門面模式的基礎原理及示例**;

2.該文章適合初學設計模式的技術人員研習;

3.該文章有許多不足之處,請各位大咖指正,噴子繞道;

門面模式(外觀模式):要求乙個子系統的外部與其內部的通訊必須通過乙個統一的物件進行。門面模式提供乙個高層次的介面,使得子系統更易於使用。

1.門面模式示例**實現:

package com.csdn;

/** * 做飯所有的流程

*@author administrator

* */

public

inte***ce

cook

package com.csdn;

/** * 做飯每個流程具體實現

*@author administrator

* */

public

class

cookimpl

implements

cook

@override

public

void

washvegetables()

@override

public

void

cooking()

}

package com.csdn;

/** * 保姆做飯

*@author administrator

* */

public

class

nanny

}

package com.csdn;

/** * 模擬主人命令保姆做飯

*@author administrator

* */

public

class

client

}

輸出:

買了:大白菜

開始洗:大白菜

開始炒:大白菜

注:

a:門面模式注重」統一的物件」,也就是提供乙個訪問子系統的介面,除了這個介面不允許有任何訪問子系統的行為發生。

b:門面模式是一種常用的封裝模式

c:門面模式包含了門面角色和子系統角色。

1.通用門面模式模板**實現:

子系統

public

class classa

}

public

class classb

}

public

class classc

}

門面物件

public

class facade

public

void

methodb()

public

void

methodc()

}

注:

a:門面模式不符合開閉原則

b:門面模式應用場景:(為乙個複雜模組或子系統提供乙個共外界訪問的介面)(外界對子系統的訪問黑箱操作即可)(預防低水平人員帶來的風險擴散)。

c:門面不參與子系統內的業務邏輯。例如通用模板中的methodc()方法中就不應該增加呼叫dosomethinga()方法,如果需要呼叫,需增加乙個封裝類。

23種設計模式 門面模式

門面模式 門面模式鬆散了客戶端與子系統的耦合關係,讓子系統內部的模組能更容易擴充套件和維護。門面模式讓子系統更加易用,客戶端不再需要了解子系統內部的實現,也不需要跟眾多子系統內部的模組進行互動,只需要跟門面類互動就可以了。1.子系統a public class modulea 2.子系統b publ...

Java的23種設計模式

設計模式分為三大類 建立型模式,共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式。結構型模式,共七種 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式。行為型模式,共十一種 策略模式 模板方法模式 觀察者模式 迭代子模式 責任鏈模式 命令模式 備忘錄模式 狀態模...

Java23種設計模式

定義 設計模式 design pattern 是一套反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了可重用 讓 更容易被他人理解 保證 可靠性。單例模式,特點 全域性只有乙個例項。定義 單例模式,也叫單子模式,是一種常用的軟體設計模式。在應用這個模式的時候,單例物件的類必須...