【发布时间】:2014-02-20 14:01:13
【问题描述】:
我一直在网上搜索试图了解什么是工厂方法,但我没有找到任何显示具体示例的简单示例。我在其中一本书中简要介绍了它们,但它没有显示示例,也没有解释它们是什么“类方法通常用作工厂方法”。
1- Objective-C 中工厂方法的语法和用法是什么? This 是我找到的最接近的答案,但是当我尝试作为答案的评论中的示例时,我收到一条消息说我不能打电话给 super。这个问题我比较关心工厂方法的实现语法。
2- 工厂方法在其他语言中是否称为构造函数?
3- 工厂方法与单例相比如何?
来自 Apple 文档:
它们将分配和初始化结合在一个步骤中,并返回 创建对象
这不是单例的作用吗?
在下面的单例示例中,我们可以说类方法 sharedData 是工厂方法吗?
.m 文件
#import "SingletonModel.h"
@implementation SingletonModel
static SingletonModel *sharedData;
- (id) init {
if (self = [super init]) {
// custom initialization
}
return self;
}
// is this a factory method?
+(SingletonModel*) sharedData
{
if (!sharedData) {
sharedData = [[SingletonModel alloc]init];
}
return sharedData;
}
@end
【问题讨论】:
标签: ios objective-c factory-pattern