工廠模式
聲明一個創建抽象產品對象的操作接口
abstractFactory
最后工廠能創建出的類,可以由抽象工廠接口的傳參或者系統的配置給出
創建的類會因為設置接口參數的不同而不同,屏蔽了創建的具體過程
使用的時候盡量不要傳遞過多的細節信息,如果有細節信息,可以通過定義枚舉
或者通過系統的配置文件來更改,這樣可以暴露不必要的細節
最后創建出的類最好有共同的父類,這樣便于接口統一,但是行為可以不同,比如說窗口的樣式。
分離了具體類,不在客戶的代碼中,客戶只需要操縱接口就可以
易于交換產品系列,由于統一了接口,只需要改變具體的工廠類,就可以立即實現更改
有利于產品的一致性
難以支持新種類的產品
每個具體產品只需要一個具體的工廠實例,最好使用單例
concreteFactory1
createproducta()
createproductb()
concreteFactory2
createproductc();
createproductc();
適配器模式 對原有的類進行包裝,進而匹配到已經存在的系統中