設計模式面試題

2021-10-11 14:41:07 字數 652 閱讀 4465

參考:常用的設計模式彙總,超詳細!

這個模式本身很簡單而且使用在業務較簡單的情況下。一般用於小專案或者具體產品很少擴充套件的情況(這樣工廠類才不用經常更改)。

它由三種角色組成:

來用類圖來清晰的表示下的它們之間的關係:

抽象工廠模式:

先來認識下什麼是產品族: 位於不同產品等級結構中,功能相關聯的產品組成的家族。

圖中的bmwcar和benzcar就是兩個產品樹(產品層次結構);而如圖所示的benzsportscar和bmwsportscar就是乙個產品族。他們都可以放到跑車家族中,因此功能有所關聯。同理bmwbussinesscar和benzbusinesscar也是乙個產品族。

可以這麼說,它和工廠方法模式的區別就在於需要建立物件的複雜程度上。而且抽象工廠模式是三個裡面最為抽象、最具一般性的。抽象工廠模式的用意為:給客戶端提供乙個介面,可以建立多個產品族中的產品物件。

而且使用抽象工廠模式還要滿足一下條件:

來看看抽象工廠模式的各個角色(和工廠方法的如出一轍):

Java面試題 設計模式

單例模式 保證被建立一次,節省系統開銷。工廠模式 簡單工廠 抽象工廠 解耦 觀察者模式 定義了物件之間的一對多的依賴,這樣一來,當乙個物件改變時,它的所有的依賴者都會收到通知並 自動更新。外觀模式 提供乙個統一的介面,用來訪問子系統中的一群介面,外觀定義了乙個高層的介面,讓子系統更容易使 用。模版方...

面試題 2 設計模式

指乙個類只有乙個例項,且該類能自行建立這個例項的一種模式。例如,windows 中只能開啟乙個任務管理器,這樣可以避免因開啟多個任務管理器視窗而造成記憶體資源的浪費,或出現各個視窗顯示內容的不一致等錯誤。通過提供乙個靜態的物件instance,利用private許可權的構造方法和getinstanc...

單例設計模式 面試題

設計模式 必須對於多個程式使用同乙個配置資訊物件時,就需要保證其物件的唯一性 如何保證物件的唯一性 不允許其程式new建立物件 在該程式中建立乙個本類例項 對外提供乙個方法讓其他方法可以獲取該物件 2.步驟 私有化該 建構函式 通過new建立乙個在本類物件 定義乙個公有的方法,將建立物件返回.pub...