// "ProductA1" class ProductA1 : AbstractProductA { }
// "ProductB1" class ProductB1 : AbstractProductB { // Methods overridepublicvoid Interact( AbstractProductA a ) { Console.WriteLine( this+" interacts with "+ a ); } }
// "ProductA2" class ProductA2 : AbstractProductA { }
// "ProductB2" class ProductB2 : AbstractProductB { // Methods overridepublicvoid Interact( AbstractProductA a ) { Console.WriteLine( this+" interacts with "+ a ); } }
// "Client" - the interaction environment of the products class Environment { // Fields private AbstractProductA AbstractProductA; private AbstractProductB AbstractProductB;
Herbivore:草食动物 Carnivore:食肉动物 Bison:['baisn],美洲或欧洲的野牛下面实际代码演示了一个电脑游戏中创建不同动物的抽象工厂。尽管在不同大陆下动物物种是不一样的,但动物间的关系仍然保留了下来。// Abstract Factory pattern -- Real World example using System;