GildedRose-Refactoring-Kata/swift/Sources/GildedRose/CustomisedItemFactory.swift
2020-08-17 13:26:05 +02:00

32 lines
632 B
Swift

//
// File.swift
//
//
// Created by Manali Mogre on 16/08/2020.
//
import Foundation
protocol CustomisedItem {
func updateItemState()
}
class CustomisedItemFactory {
func getCustomisedItem(item: Item) -> CustomisedItem {
switch item.name {
case ItemNameConstants.kAgedBrieItem:
return AgedBrieItem(item: item)
case ItemNameConstants.kBackstagePassesItem:
return BackstagePassesItem(item: item)
case ItemNameConstants.kSulfurasItem:
return SulfurasItem(item: item)
default:
return StandardItem(item: item)
}
}
}