美文网首页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