一、說一下常見的設計模式
1)單例模式:保證被建立一次,節省系統開銷。算法
2)工廠模式(簡單工廠、抽象工廠):解耦代碼。設計模式
3)觀察者模式:定義了對象之間的一對多的依賴,當一個對象改變時,它的全部的依賴者都會收到通知並自動更新。spa
3)外觀模式:提供一個統一的接口,用來訪問子系統中的一羣接口,外觀定義了一個高層的接口,讓子系統更容易使用。設計
4)模板方法模式:定義了一個算法的骨架,而將一些步驟延遲到子類中,模板方法使得子類能夠在不改變算法結構的狀況下,從新定義算法的步驟。對象
5)狀態模式:容許對象在內部狀態時改變它的行爲,對象看起來好像修改了它的類。接口
二、簡單工廠和抽象工廠有什麼區別?
簡單工廠:用來生產同一等級結構中的任意產品,對於增長新的產品,無能爲力。產品
工廠方法:用來生產贊成等級結構中的固定產品,支持增長任意產品。模板
抽象工廠:用來生產不一樣產品族的所有產品,對於增長新的產品,無能爲了;支持增長產品族。class