在實(shí)際開發(fā)中,如果我們A對象調(diào)用B,B調(diào)用C,C調(diào)用D的話我們程序的耦合性就會變高。(耦合大致分為類與類之間的依賴,方法與方法之間的依賴。)
在很久以前的三層架構(gòu)編程時(shí),都是控制層調(diào)用業(yè)務(wù)層,業(yè)務(wù)層調(diào)用數(shù)據(jù)訪問層時(shí),都是是直接new對象,耦合性大大提升,代碼重復(fù)量很高,對象滿天飛
為了避免這種情況,Spring使用工廠模式編程,寫一個(gè)工廠,由工廠創(chuàng)建Bean,以后我們?nèi)绻獙ο缶椭苯庸芄S要就可以,剩下的事情不歸我們管了。Spring IOC容器的工廠中有個(gè)靜態(tài)的Map集合,是為了讓工廠符合單例設(shè)計(jì)模式,即每個(gè)對象只生產(chǎn)一次,生產(chǎn)出對象后就存入到Map集合中,保證了實(shí)例不會重復(fù)影響程序效率。