一、先來解讀:23種設計模式要點
1.單例模式(Singleton Pattern)
2.工廠模式
3.抽象工廠模式(Abstract Factory Pattern)
4.模板方法模式(Template Method Pattern)
5.建造者模式(Builder Pattern)
6.代理模式(Proxy Pattern)
7.原型模式(Prototype Pattern)
8.中介者模式
9.命令模式
10.責任鏈模式
11.裝飾模式(Decorator Pattern)
12.策略模式(Strategy Pattern)
13.適配器模式(Adapter Pattern)
14.迭代器模式(Iterator Pattern)
15.組合模式((Composite Pattern))
16.觀察者模式(Observer Pattern)
17.門面模式(Facade Pattern)
18.備忘錄模式(Memento Pattern)
19.訪問者模式(Visitor Pattern)
20.狀態模式(復雜)
21.解釋器模式(Interpreter Pattern)(少用)
22.享元模式(Flyweight Pattern)
23.橋梁模式(Bridge Pattern)
… …
二、六大設計原則(來源:《您的設計模式》)
- 單一職責原則【Single Responsibility Principle】
- 里氏替換原則【Liskov Substitution Principle】
-
依賴倒置原則【Dependence Inversion Principle】
-
接口隔離原則【Interface Segregation Principle】
-
迪米特法則【Low Of Demeter】
- 開閉原則【Open Close Principle】
三、《大話設計模式》
通篇是以情景對話的形式,用一個又一個的小故事或者編程示例來組織的。共分為四個部分…
-
第一部分是面向對象的意義和好處以及幾個重要的設計原則,通過小菜面試的失敗引出;
-
第二部分是詳細講解23個設計模式;
-
第三部分是對設計模式的總結,利用小菜夢想到的超級模式大賽的場景,把所有的面向對象和模式概念都擬人化來趣味總結設計模式之間的異同和關鍵點;
-
第四部分是附錄,主要是針對對面向對象不熟悉者的一個補充,通過一個例子的演變介紹了類、封裝、繼承、多態、接口、事件等概念。
內容偏多,篇幅有限,先上一份總目錄看看大概的內容有哪些…
四、面試常問的設計模式
-
請列舉出在 JDK 中幾個常用的設計模式?
-
什么是設計模式?你是否在你的代碼里面使用過任
-
Java 中什么叫單例設計模式?請用 Java 寫出線程安全的單例模式
-
在 Java 中,什么叫觀察者設計模式(observer design pattern
-
使用工廠模式最主要的好處是什么?在哪里使用?
-
舉一個用 Java 實現的裝飾模式(decorator design pattern) ?它是作用于對象層次還是類層次?
-
在 Java 中,為什么不允許從靜態方法中訪問非靜態變量?
-
設計一個 ATM 機,請說出你的設計思路?
-
在 Java 中,什么時候用重載,什么時候用重寫?
-
舉例說明什么情況下會更傾向于使用抽象類而不是接口?
-
… …
最后
針對最近很多人都在面試,我這邊也整理了相當多的面試專題資料,也有其他大廠的面經。希望可以幫助到大家。
下面的面試題答案都整理成文檔筆記。也還整理了一些面試資料&最新2021收集的一些大廠的面試真題(都整理成文檔,小部分截圖),有需要的可以戳這里免費領取
最新整理電子書
料&最新2021收集的一些大廠的面試真題(都整理成文檔,小部分截圖),有需要的可以戳這里免費領取
[外鏈圖片轉存中…(img-03MBEy1y-1625134795161)]
最新整理電子書