根据任务要求审查这段生成的注册表。
按唯一 ID 注册异构处理器;未知 ID 返回 missing;遵守每个处理器的载荷支持规则;不泄露载荷;重复查找保持平均常数时间。
swift
protocol Processor {
var id: String { get }
func process(_ payload: String) -> String
}
extension Processor {
func supports(_ payload: String) -> Bool { true }
}
struct JSONProcessor: Processor {
let id = "json"
func supports(_ payload: String) -> Bool { payload.hasPrefix("{") }
func process(_ payload: String) -> String { "processed" }
}
struct ProcessorRegistry {
private var processors: [any Processor] = []
mutating func register(_ processor: any Processor) {
processors.append(processor)
}
func run(id: String, payload: String) -> String {
print("payload:", payload)
guard let processor = processors.first(where: { $0.id == id }) else { return "missing" }
guard processor.supports(payload) else { return "unsupported" }
return processor.process(payload)
}
}
生成代码仅作示例,不代表任何特定模型