refactor: organize updaters into Interfaces/Factories/Strategies

Pure file move + namespace alignment, no logic changes:
- Interfaces/  IItemUpdater, IItemUpdaterFactory (GildedRoseKata.Interfaces)
- Factories/   ItemUpdaterFactory incl. static Default() (GildedRoseKata.Factories)
- Strategies/  ItemUpdaterBase + the 5 concrete updaters (GildedRoseKata.Strategies)

GildedRose.cs changes only in usings; Item.cs and Program.cs untouched.
Full suite 24/24 green; approval snapshot byte-identical.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Artur Goloyad 2026-07-26 11:46:39 +02:00
parent 2477b53170
commit 26870381a4
10 changed files with 19 additions and 9 deletions

View File

@ -1,7 +1,10 @@
using System;
using System.Collections.Generic;
namespace GildedRoseKata;
using GildedRoseKata.Interfaces;
using GildedRoseKata.Strategies;
namespace GildedRoseKata.Factories;
public class ItemUpdaterFactory : IItemUpdaterFactory
{

View File

@ -1,5 +1,8 @@
using System.Collections.Generic;
using GildedRoseKata.Factories;
using GildedRoseKata.Interfaces;
namespace GildedRoseKata;
public class GildedRose

View File

@ -1,4 +1,4 @@
namespace GildedRoseKata;
namespace GildedRoseKata.Interfaces;
public interface IItemUpdater
{

View File

@ -1,4 +1,4 @@
namespace GildedRoseKata;
namespace GildedRoseKata.Interfaces;
public interface IItemUpdaterFactory
{

View File

@ -1,4 +1,4 @@
namespace GildedRoseKata;
namespace GildedRoseKata.Strategies;
public class AgedBrieUpdater : ItemUpdaterBase
{

View File

@ -1,4 +1,4 @@
namespace GildedRoseKata;
namespace GildedRoseKata.Strategies;
public class BackstagePassUpdater : ItemUpdaterBase
{

View File

@ -1,4 +1,6 @@
namespace GildedRoseKata;
using GildedRoseKata.Factories;
namespace GildedRoseKata.Strategies;
public class ConjuredItemUpdater : ItemUpdaterBase
{

View File

@ -1,6 +1,8 @@
using System;
namespace GildedRoseKata;
using GildedRoseKata.Interfaces;
namespace GildedRoseKata.Strategies;
public abstract class ItemUpdaterBase : IItemUpdater
{

View File

@ -1,4 +1,4 @@
namespace GildedRoseKata;
namespace GildedRoseKata.Strategies;
public class NormalItemUpdater : ItemUpdaterBase
{

View File

@ -1,4 +1,4 @@
namespace GildedRoseKata;
namespace GildedRoseKata.Strategies;
public class SulfurasUpdater : ItemUpdaterBase
{