工厂模式,就像字面的意思一样,快速生成许多相同的对象
工厂模式: 专门定义一个类来负责创建其他类的实例,被创建的实例通常具有相同的父类
第一种虽然是工厂模式但还如果换一个对象的话改动起来没有那么方便
第二种就很方便,换对象的话只需要换掉DogFactory就可以
1: Dog *dog = [AnimalFactory createDog];
Cat *cat = [AnimalFactory createCat];
[dog eat];
[cat eat];
2: //AnimalFactory *factory = [CatFactory new];
AnimalFactory *factory = [DogFactory new];
Animal *animal1 = [factory createAnimal];
[animal1 eat];
Animal *animal2 = [factory createAnimal];
[animal2 eat];