更新時間:2023-01-29 15:45:21 來源:動力節點 瀏覽1244次
一、什么是設計模式
設計模式,是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性、程序的重用性。
二、設計模式分類
創建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。
結構型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。
行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。
三、設計模式的六大原則
開放封閉原則(Open Close Principle)
原則思想:盡量通過擴展軟件實體來解決需求變化,而不是通過修改已有的代碼來完成變化
描述:一個軟件產品在生命周期內,都會發生變化,既然變化是一個既定的事實,我們就應該在設計的時候盡量適應這些變化,以提高項目的穩定性和靈活性。
優點:單一原則告訴我們,每個類都有自己負責的職責,里氏替換原則不能破壞繼承關系的體系。
里氏代換原則(Liskov Substitution Principle)
原則思想:使用的基類可以在任何地方使用繼承的子類,完美的替換基類。
大概意思是:子類可以擴展父類的功能,但不能改變父類原有的功能。子類可以實現父類的抽象方法,但不能覆蓋父類的非抽象方法,子類中可以增加自己特有的方法。
優點:增加程序的健壯性,即使增加了子類,原有的子類還可以繼續運行,互不影響。
依賴倒轉原則(Dependence Inversion Principle)
依賴倒置原則的核心思想是面向接口編程.
依賴倒轉原則要求我們在程序代碼中傳遞參數時或在關聯關系中,盡量引用層次高的抽象層類,
這個是開放封閉原則的基礎,具體內容是:對接口編程,依賴于抽象而不依賴于具體。
接口隔離原則(Interface Segregation Principle)
這個原則的意思是:使用多個隔離的接口,比使用單個接口要好。還是一個降低類之間的耦合度的意思,從這兒我們看出,其實設計模式就是一個軟件的設計思想,從大型軟件架構出發,為了升級和維護方便。所以上文中多次出現:降低依賴,降低耦合。
例如:支付類的接口和訂單類的接口,需要把這倆個類別的接口變成倆個隔離的接口
迪米特法則(最少知道原則)(Demeter Principle)
原則思想:一個對象應當對其他對象有盡可能少地了解,簡稱類間解耦
大概意思就是一個類盡量減少自己對其他對象的依賴,原則是低耦合,高內聚,只有使各個模塊之間的耦合盡量的低,才能提高代碼的復用率。
優點:低耦合,高內聚。
單一職責原則(Principle of single responsibility)
原則思想:一個方法只負責一件事情。
描述:單一職責原則很簡單,一個方法 一個類只負責一個職責,各個職責的程序改動,不影響其它程序。 這是常識,幾乎所有程序員都會遵循這個原則。
優點:降低類和類的耦合,提高可讀性,增加可維護性和可拓展性,降低可變性的風險。
四、解釋Java設計模式的優勢?
設計模式可在多個項目中重復使用。
設計模式提供了有助于定義系統體系結構的解決方案。
設計模式記錄了軟件工程經驗。
設計模式為應用程序的設計提供了透明度。
由于它們是建立在專家軟件開發人員的知識和經驗之上的, 因此它們得到了驗證和充分證明。
五、什么是四人幫(GOF)?
1994年, 四位作者Erich Gamma, Ralph Johnson, Richard Hel和John Vlissides出版了一本書, 標題為”可重用的面向對象軟件的設計模式元素”。本書介紹了軟件開發中設計模式的概念。
這四位作者被稱為”四個GOF的幫派”。
六、什么是創作模式?
創新設計模式與創建對象的方式有關。在實例化類時做出決定時, 將使用創建設計模式。
EmpRecord e1 =新的EmpRecord();
由于new關鍵字用于在Java中創建對象, 因此, 這里我們使用new關鍵字創建實例。在某些情況下, 必須根據程序的性質更改對象的性質。在這種情況下, 我們應該使用創新的設計模式來提供更通用, 更靈活的方法。
七、什么是工廠模式?
它是Java中最常用的設計模式。
這些設計模式屬于創建模式, 因為該模式提供了創建對象的最佳方法之一。
在Factory模式中, 我們不向客戶端公開創建邏輯, 而不會使用標準接口引用創建的對象。
工廠模式允許子類選擇要創建的對象的類型。
工廠模式也稱為虛擬構造函數。
以上就是“2023年瘋狂推薦的Java設計模式面試題目”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節點Java官網。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習