mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-18 16:01:42 +00:00
Add Itembehavior interface and default impl.
Again, separating the item behavior into a separate interface allows us to determine the item behavior by choosing a sellIn and a qualityBehavior implementation. The defaultItemBehavior uses the default quality and sellIn behavior
This commit is contained in:
parent
11c697d7c5
commit
a282a8455e
@ -0,0 +1,19 @@
|
||||
package com.gildedrose.behavior.item;
|
||||
|
||||
import com.gildedrose.Item;
|
||||
import com.gildedrose.behavior.quality.DefaultQualityBehavior;
|
||||
import com.gildedrose.behavior.sellin.DefaultSellInBehavior;
|
||||
import com.gildedrose.behavior.quality.QualityBehavior;
|
||||
import com.gildedrose.behavior.sellin.SellInBehavior;
|
||||
|
||||
public class DefaultItemBehavior implements ItemBehavior {
|
||||
|
||||
private final QualityBehavior qualityBehavior = new DefaultQualityBehavior();
|
||||
private final SellInBehavior sellInBehavior = new DefaultSellInBehavior();
|
||||
|
||||
@Override
|
||||
public void processUpdate(Item item) {
|
||||
qualityBehavior.processQualityUpdate(item);
|
||||
sellInBehavior.processSellInUpdate(item);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
package com.gildedrose.behavior.item;
|
||||
|
||||
import com.gildedrose.Item;
|
||||
|
||||
public interface ItemBehavior {
|
||||
|
||||
void processUpdate(Item item);
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user