原型设计模式是一种创建模式,可以通过复制或克隆现有对象来创建新对象。在从头开始创建新对象的情况下,此模式可能很有用,或者耗时,或者需要使用不同的配置或属性来自定义对象。
protocol Prototype {
func clone() -> Prototype
}
class Sheep: Prototype {
var name: String
init(name: String) {
self.name = name
}
func clone() -> Prototype {
return Sheep(name: self.name)
}
}
// Example usage
let originalSheep = Sheep(name: "Maria")
let clonedSheep = originalSheep.clone() as! Sheep
print(originalSheep.name) // Prints "Maria"
print(clonedSheep.name) // Prints "Maria"
clonedSheep.name = "Dolly"
print(originalSheep.name) // Prints "Maria"
print(clonedSheep.name) // Prints "Dolly"
如果您有兴趣在Swift中了解有关设计模式的更多信息,则可以查看我的GitHub repository,我提供了各种设计模式的示例和解释。