Design Patterns-abstractfactory patterns
1. Replace the abstract base class in the factory mode with the interface class. The difference is that the abstract base class cannot be instantiated, while the interface class can.
For example, replacing a car with a 4S shop,
Class car 4s stores
{
Public:
Automobile 4S stores ();
Vitrual ~ Automobile 4S stores ();
Virtual tire * tire () const {return new tire ;}
Virtual Rolling Wheel * Rolling Wheel () const {return New Rolling Wheel ;}
Virtual missile * missile () const {return new missile ;}
}
Class my car: Public Car 4S Shop
{
Public:
My car ();
~ My car ();
Virtual tire * tire () const {return New Geely ;}
Virtual Rolling Wheel * Rolling Wheel () const {return New Dongfeng Rolling Wheel ;}
Virtual missile * missile () const {return new ground-to-air missile ;}
}
Class wife's car: Public Car 4S Shop
{
Public:
Wife's car ();
~ Wife's car ();
Virtual tire * tire () const {return New miqilin ;}
Virtual Rolling Wheel * Rolling Wheel () const {return new Korean Rolling Wheel ;}
Virtual missile * missile () const {return new anti-missile defense ;}
}
Class stroller: Public Car 4S Shop
{
Public:
Stroller ();
~ Stroller ();
Virtual tire * tire () const {return New Geely ;}
Virtual Rolling Wheel * Rolling Wheel () const {return New Dongfeng Rolling Wheel ;}
Virtual missile * missile () const {return new anti-missile defense ;}
}