Abstract Product
(A):Concrete Product
(A1):Concrete Product
(A2):Abstract Product
(B):Concrete Product
(B1):Concrete Product
(B2):Abstract Factory
:Concrete Factory
(A):Concrete Factory
(B):Factory Method
(optional):Abstract Factory
design pattern: