using System.Collections.Generic; namespace GildedRoseKata; public class GildedRose { private readonly IList _items; private readonly IItemUpdaterFactory _factory; public GildedRose(IList items) : this(items, ItemUpdaterFactory.Default()) { } public GildedRose(IList items, IItemUpdaterFactory factory) { _items = items; _factory = factory; } public void UpdateQuality() { foreach (var item in _items) _factory.Get(item).Update(item); } }