Abstract Factory 模式的意图:



类图(非标准类图,为了给结合例子,稍稍修改):

代码如下:
在例子中,线索是这样的。比如你要买一件衬衫(addi的)和一条西库(nike的),牌子有nike的,还有addi的。约定对应关系如下:











这里没有对类进行具体细化的命名,只作简单的约定,你可以根据需要修改名称。
抽象工厂:















抽象产品A:










生产1产品的工厂:


























生产2产品的工厂:




























具体产品A1:











具体产品B1:











具体产品A2:











具体产品B2:











测试Client:












































结果输出:


转载于:https://blog.51cto.com/77857/148116