設計模式學習(二十四):Spring 中使用到的設計模式
設計模式學習(二十四):Spring 中使用到的設計模式
作者:Grey
原文地址:
部落格園:設計模式學習(二十四):Spring 中使用到的設計模式
CSDN:設計模式學習(二十四):Spring 中使用到的設計模式
觀察者模式
定義一個繼承 ApplicationEvent 的事件;定義一個實現了 ApplicationListener 的監聽器;定義一個發送者 DemoPublisher ,發送者調用 ApplicationContext 來發送事件消息。
模板方法

適配器模式
Spring 定義了統一的介面 HandlerAdapter ,並且對每種 Controller 定義了對應的適配器類。這些適配器類包括: AnnotationMethodHandlerAdapter 、 SimpleControllerHandlerAdapter 、 SimpleServletHandlerAdapter 等
策略模式
AopProxy 是策略介面, dkDynamicAopProxy、CglibAopProxy 是兩個實現了 AopProxy 介面的策略類。策略的創建一般通過工廠方法來實現。對應到 Spring 源碼, AopProxyFactory 是一個工廠類介面, DefaultAopProxyFactory 是一個默認的工廠類,用來創建 AopProxy 對象。
組合模式
CacheManager 組合 Cache
裝飾器模式
TransactionAwareCacheDecorator 增加了對事務的支援,在事務提交、回滾的時候分別對 Cache 的數據進行處理。 TransactionAwareCacheDecorator 實現 Cache 介面,並且將所有的操作都委託給 targetCache 來實現,對其中的寫操作添加了事務功能。這是典型的裝飾器模式的應用場景和程式碼實現
工廠模式
BeanFactory 類和 ApplicationContext 相關類( AbstractApplicationContext、ClassPathXmlApplicationContext、FileSystemXmlApplicationContext等)

