spring中用到哪些設計模式
阿新 • • 發佈:2018-11-28
1.工廠模式,這個很明顯,在各種BeanFactory以及ApplicationContext建立中都用到了;
2.模版模式,這個也很明顯,在各種BeanFactory以及ApplicationContext實現中也都用到了;
3.代理模式,在Aop實現中用到了JDK的動態代理;
4.單例模式,這個比如在建立bean的時候。
5.Tomcat中有很多場景都使用到了外觀模式,因為Tomcat中有很多不同的元件,每個元件需要相互通訊,但又不能將自己內部資料過多地暴露給其他元件。用外觀模式隔離資料是個很好的方法。
6.策略模式在Java中的應用,這個太明顯了,因為Comparator這個介面簡直就是為策略模式而生的。 Comparable和Comparator的區別一文中,詳細講了Comparator的使用。比方說Collections裡面有一個sort方法,因為集合裡面的元素有可能是複合物件,複合物件並不像基本資料型別,可以根據大小排序,複合物件怎麼排序呢?基於這個問題考慮,Java要求如果定義的複合物件要有排序的功能,就自行實現Comparable介面或Comparator介面.
7.原型模式:使用原型模式建立物件比直接new一個物件在效能上好得多,因為Object類的clone()方法是一個native方法,它直接操作記憶體中的二進位制流,特別是複製大物件時,效能的差別非常明顯。
8.迭代器模式:Iterable介面和Iterator介面