spring中用到哪些設計模式


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接口 這兩個都是迭代相關的接口,可以這么認為,實現了Iterable接口,則表示某個對象是可被迭代的;Iterator接口相當於是一個迭代器,實現了Iterator接口,等於具體定義了這個可被迭代的對象時如何進行迭代的

暫時總結那么多,以后發現持續更新。。。。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM