設計模式(面試)

1. 什麼是設計模式?

    設計模式是前人在工作過程中總結的一套有效的編碼方案,是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。

2. 爲什麼要用設計模式?

  衆所周知JAVA不像其他語言那麼靈活,特別死板的限制了很多東西。爲了彌補自身的缺陷,所以引入了設計模式。使用設計模式是爲了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。 

3. 設計模式的原則

   1. 開閉原則:對擴展開發,對修改關閉;

   2.里氏代換原則:任何基類可以出現的地方,子類一定可以出現;

   3.依賴倒轉原則:面向接口編程;

   4.接口隔離原則:使用多接口來降低耦合度;

   5.迪米特法則:儘量減少與其他模塊的耦合性來降低系統複雜度;

   6.合成複用原則:儘量採用合成和聚合的方式,不要直接繼承;

3. 設計模式的分類

   創建型模式:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式;

   結構型模式:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式;

   行爲型模式:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式;

   其他模式:併發型模式和線程池模式。

  (1)工廠方法模式:爲每一個業務處理類包裝一層工廠類,並對外暴露工廠類。

  (2)抽象工廠模式:在工廠方法模式的基礎上,對工廠類抽象一層抽線工廠類並對外暴露抽象工廠類。

  (3)建造者模式:在抽象工廠模式的基礎上,對抽象工廠抽象一層建造者類,由建造者對外提供真實的工廠類。

  (4)單例模式:將實例對象的創建私有化,只允許存在一個實例對象。

  (5)原型模式:將一個對象作爲原型,不允許直接操作此對象,但是允許複製一個對象來操作。

  (6)適配器模式:將某個類的接口轉換成另一個接口並對外暴露。

  (7)裝飾器模式:用一個裝飾器封裝原來的對象並增加額外功能。

  (8)代理模式:代理模式就是多一個代理類出來,替原對象進行一些操作。

  (9)觀察者模式:當一個對象變化時,其它依賴該對象的對象都會收到通知,並且隨着變化。

發佈了119 篇原創文章 · 獲贊 23 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章