From bf62bf2ceb8f349f18501e89a954678593cae5a7 Mon Sep 17 00:00:00 2001 From: Manali Mogre Date: Mon, 17 Aug 2020 20:49:39 +0200 Subject: [PATCH] - Creating a Protocol for Factory Method --- .../Sources/GildedRose/CustomisedItemFactory.swift | 13 +++++++------ swift/Sources/GildedRose/GildedRose.swift | 3 +-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/swift/Sources/GildedRose/CustomisedItemFactory.swift b/swift/Sources/GildedRose/CustomisedItemFactory.swift index 964011ec..9605fee1 100644 --- a/swift/Sources/GildedRose/CustomisedItemFactory.swift +++ b/swift/Sources/GildedRose/CustomisedItemFactory.swift @@ -12,9 +12,14 @@ protocol CustomisedItem { func updateItemState() } -class CustomisedItemFactory { +protocol CustomisedItemFactoryCreator { + static func getCustomisedItem(item: Item) -> CustomisedItem +} + + +struct CustomisedItemFactory: CustomisedItemFactoryCreator { // Returns the Customised Item based on the Item name - func getCustomisedItem(item: Item) -> CustomisedItem { + static func getCustomisedItem(item: Item) -> CustomisedItem { switch item.name { case ItemNameConstants.kAgedBrieItem: return AgedBrieItem(item: item) @@ -27,7 +32,3 @@ class CustomisedItemFactory { } } } - - - - diff --git a/swift/Sources/GildedRose/GildedRose.swift b/swift/Sources/GildedRose/GildedRose.swift index 3b4746b5..8329da80 100644 --- a/swift/Sources/GildedRose/GildedRose.swift +++ b/swift/Sources/GildedRose/GildedRose.swift @@ -6,7 +6,6 @@ public class GildedRose { } public func updateQuality() { - let customFactoryObj = CustomisedItemFactory() - _ = items.map({customFactoryObj.getCustomisedItem(item: $0).updateItemState()}) + _ = items.map({CustomisedItemFactory.getCustomisedItem(item: $0).updateItemState()}) } }