提供一个创建一系列相关或相互依赖的对象的接口,而不需指定它们具体的类。
通常在run-time式创建一个ConcreateFactory类的单体实例。这个ConcreteFactory创建ConcreteProduct对象。为了创建不同的ConcreteProduct对象,clients需要使用不同的ConcreteFactory。

AbstractFactory(ContinentFactory)
定义一个接口,用来创建抽象products。
ConcreteFactory(AfrciaFactory,AmericaFactory)