搜尋
首頁JavaJava面試題2020全新Java面試題-設計模式

2020全新Java面試題-設計模式

Jun 22, 2020 pm 05:19 PM
java設計模式面試題

2020全新Java面試題-設計模式

簡單工廠和抽象工廠有什麼不同?

(相關推薦:java面試題

#簡單工廠模式:

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

它由三個角色組成:

  • 工廠類別角色:這是本模式的核心,含有一定的商業邏輯和判斷邏輯,根據邏輯不同,產生具體的工廠產品。如範例中的Driver類別。

  • 抽象產品角色:它一般是特定產品繼承的父類別或實作的介面。由介面或抽象類別來實作。如例中的Car接口。

  • 具體產品角色:工廠類別所建立的物件就是此角色的實例。在java中由一個具體類別實現,如範例中的Benz、Bmw類別。

(推薦學習:java入門程式

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

2020全新Java面試題-設計模式

抽象工廠模式:

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

2020全新Java面試題-設計模式

圖中的BmwCar和BenzCar就是兩個產品樹(產品層次結構);而如圖所示的BenzSportsCar和BmwSportsCar就是一個產品族。他們都可以放到跑車家族中,因此功能有所關聯。同理BmwBussinessCar和BenzBusinessCar也是一個產品族。

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

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

1、系統中有多個產品族,而係統一次只可能消費其中一族產品

2、同屬於同一個產品族的產品以其使用。

(影片教學推薦:java影片教學

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

  • 抽象工廠角色: 這是工廠方法模式的核心,它與應用程式無關。是具體工廠角色必須實作的介面或是必須繼承的父類別。在java中它是由抽象類別或介面來實作。

  • 具體工廠角色:它含有和具體業務邏輯相關的程式碼。由應用程式呼叫以建立對應的特定產品的物件。在java中它是由具體的類別來實作。

  • 抽象產品角色:它是特定產品繼承的父類別或是實作的介面。在java中一般有抽象類別或介面來實作。

  • 具體產品角色:特定工廠角色所建立的物件就是此角色的實例。在java中由具體的類別來實作。

#

以上是2020全新Java面試題-設計模式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:csdn。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。