談談你知道的設計模式

談談你知道的設計模式?請手動實現單例模式,Spring等框架中使用了哪些模式?

典型回答

大致按照模式的應用目標分類,設計模式可以分爲創建型模式、結構型模式和行爲型模式。

  • 創建型模式,是對對象創建過程的各種問題和解決方案的總結,包括各種工廠模式(Factory、Abstract Factory)、單例模式(Singleton)、構建器模式(Builder)、原型模
    式(ProtoType)。
  • 結構型模式,是針對軟件設計結構的總結,關注於類、對象繼承、組合方式的實踐經驗。常見的結構型模式,包括橋接模式(Bridge)、適配器模式(Adapter)、裝飾者模式
    (Decorator)、代理模式(Proxy)、組合模式(Composite)、外觀模式(Facade)、享元模式(Flyweight)等。
  • 行爲型模式,是從類或對象之間交互、職責劃分等角度總結的模式。比較常見的行爲型模式有策略模式(Strategy)、解釋器模式(Interpreter)、命令模式(Command)、
    觀察者模式(Observer)、迭代器模式(Iterator)、模板方法模式(Template Method)、訪問者模式(Visitor)。

Spring等如何在API設計中使用設計模式

  • BeanFactory和ApplicationContext應用了工廠模式。
  • 在Bean的創建中,Spring也爲不同scope定義的對象,提供了單例和原型等模式實現。
  • 在第6講介紹的AOP領域則是使用了代理模式、裝飾器模式、適配器模式等。
  • 各種事件監聽器,是觀察者模式的典型應用。
  • 類似JdbcTemplate等則是應用了模板模式。

參考鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章