之前介紹過簡單工廠模式、工廠模式,這節介紹下工廠家族的最后一種設計模式--抽象工廠設計模式。
實際上,如果對前兩種模式熟練掌握的話,這個相對來說最復雜的設計模式也不難理解,它也可以理解為是在工廠模式基礎上的升級。
我們知道,工廠模式將一個類的實例化延遲到子類,具體產品類由具體工廠類來實例化,但這種關系基本是一對一的,也就是說一個抽象工廠類對應一個抽象產品類,多個具體工廠類對應多個具體產品類。歸納來說就是一個工廠族只服務于一個產品族。
抽象工廠模式實現了工廠類與產品類一對多的關系,或者說工廠族與產品族實現了一對多的關系。它們的區別可以用一家工廠來形容,工廠模式就像是這家工廠的一條生產線,而抽象工廠模式就好比整個工廠的所有生產線。