美文网首页iOS学习程序员手机移动程序开发
iOS设计模式之工厂(factory)模式和抽象工厂(abstr

iOS设计模式之工厂(factory)模式和抽象工厂(abstr

作者: 52xpz | 来源:发表于2017-01-06 11:32 被阅读107次

    1、工厂模式

    工厂模式是用来管理对象创建的,可以用此模式来实现多态。比如上图中Factory负责Animal的创建、DogFactory负责Dog的创建、CatFactory负责Cat的创建。工厂模式一个工厂对应一个对象的创建,在使用时,客户需要明确的知道,用哪个工厂来创建对象。如下面代码段:

    - (Animal*)createAnimalWithType:(NSString*)type

    {

    Animal* animal = nil;

    if([type  isEqualToString:@"Animal")

    {

    animal = [Factory createObject];

    else if([type  isEqualToString:@"Dog")

    {

    animal = [DogFactory createObject];

    }

    if([type  isEqualToString:@"Cat")

    {

    animal = [DogFactory createObject];

    }

    }

    2、抽象工厂模式

    抽象工厂是工厂模式的高级版本,抽象工厂常用来实现框架,iOS中用抽象工厂来实现类簇,比如NSNumber、NSString、NSArray等等。

    如上图所示抽象工厂与工厂模式最大的区别为:抽象工厂一个工厂可以创建多个对象,而具体工厂一个工厂只能创建一个类。

    相关文章

      网友评论

        本文标题:iOS设计模式之工厂(factory)模式和抽象工厂(abstr

        本文链接:https://www.haomeiwen.com/subject/bmoovttx.html