mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-07-26 09:11:26 +00:00
Introduce the Strategy + Factory design: IItemUpdater (Name + Update), an ItemUpdaterBase with the single shared [0,50] clamp helper, stateless strategies for normal/Aged Brie/Sulfuras/Backstage, and a factory with two-tier resolution (exact name via case-insensitive dictionary, then Conjured prefix rule, then the default fallback). Not wired into GildedRose yet; no behaviour change. The Conjured strategy itself arrives in the feature commit. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
17 lines
371 B
C#
17 lines
371 B
C#
namespace GildedRoseKata;
|
|
|
|
public class AgedBrieUpdater : ItemUpdaterBase
|
|
{
|
|
public override string Name => "Aged Brie";
|
|
|
|
public override void Update(Item item)
|
|
{
|
|
item.Quality = ClampQuality(item.Quality + 1);
|
|
item.SellIn -= 1;
|
|
if (item.SellIn < 0)
|
|
{
|
|
item.Quality = ClampQuality(item.Quality + 1);
|
|
}
|
|
}
|
|
}
|