擴充卡模式中有三個角色,1.目标接口A,客戶想要實作的接口,或者是想要繼承的抽象類2.需要适配的類B 3.擴充卡
簡單來說,定義擴充卡,擴充卡實作了目标接A,同時擁有一個私有的對象B ,在重寫A中的方法裡面調用了适配類B的方法
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2LcZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TNxcTOwkjMyIzNwkDM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
工廠模式是最為平常的一種設計模式
首先工廠模式有幾個角色
1.接口A
2.實作類B,實作類C
3.工廠類D,
實作類B和實作類C都實作了接口A,在工廠類D中提供一個方法獲得接口A對象,而根據入參的不同選擇真正傳回的對象是B還是C
spring中的工廠模式的應用實作就是BeanFactory接口,所有的類都交由spring容器管理,而當需要這個對象的時候,通過BeanFactory.getBean()方法獲得