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

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等等。


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容