iOS工厂模式面试题
时间: 2023-12-26 11:28:06 浏览: 125
工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在iOS开发中,工厂模式常常用于创建不同类型的对象,而无需直接暴露对象的创建逻辑。下面是一个iOS工厂模式的面试题的例子:
```swift
// 定义一个协议,表示可创建的对象
protocol Product {
func use()
}
// 实现协议的具体类
class ConcreteProductA: Product {
func use() {
print("使用产品A")
}
}
class ConcreteProductB: Product {
func use() {
print("使用产品B")
}
}
// 工厂类
class Factory {
func createProduct(type: String) -> Product? {
switch type {
case "A":
return ConcreteProductA()
case "B":
return ConcreteProductB()
default:
return nil
}
}
}
// 使用工厂创建对象
let factory = Factory()
let productA = factory.createProduct(type: "A")
productA?.use() // 输出:使用产品A
let productB = factory.createProduct(type: "B")
productB?.use() // 输出:使用产品B
```
在上面的例子中,我们定义了一个`Product`协议,表示可创建的对象,并实现了两个具体的产品类`ConcreteProductA`和`ConcreteProductB`。然后,我们创建了一个工厂类`Factory`,其中的`createProduct`方法根据传入的类型参数来创建相应的产品对象。最后,我们使用工厂类创建了产品A和产品B,并调用了它们的`use`方法。
阅读全文