spring中用到的設計模式有:1、工廠模式;2、模板模式;3、代理模式;4、單例模式;5、外觀模式;6、策略模式;7、原型模式;8、迭代器模式等等。
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接口,等於是具體定義了這個可被迭代的物件時如何進行迭代的。
以上是spring使用了什麼模式的詳細內容。更多資訊請關注PHP中文網其他相關文章!