From 3ae74666473dc4ee90340d810ec9e6ea6a5ae665 Mon Sep 17 00:00:00 2001 From: Rakesh Venkatesh Date: Mon, 3 Aug 2020 16:51:30 +0200 Subject: [PATCH] Typically command pattern is implemented using interfaces and concrete classes. Refactor the code to use the same --- .../src/main/java/com/iluwatar/command/Command.java | 11 +++++------ .../java/com/iluwatar/command/InvisibilitySpell.java | 2 +- .../main/java/com/iluwatar/command/ShrinkSpell.java | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/command/src/main/java/com/iluwatar/command/Command.java b/command/src/main/java/com/iluwatar/command/Command.java index 85deff74e..df91e1df3 100644 --- a/command/src/main/java/com/iluwatar/command/Command.java +++ b/command/src/main/java/com/iluwatar/command/Command.java @@ -26,15 +26,14 @@ package com.iluwatar.command; /** * Interface for Commands. */ -public abstract class Command { +public interface Command { - public abstract void execute(Target target); + public void execute(Target target); - public abstract void undo(); + public void undo(); - public abstract void redo(); + public void redo(); - @Override - public abstract String toString(); + public String toString(); } diff --git a/command/src/main/java/com/iluwatar/command/InvisibilitySpell.java b/command/src/main/java/com/iluwatar/command/InvisibilitySpell.java index 3e0f7bbf4..33e053cc2 100644 --- a/command/src/main/java/com/iluwatar/command/InvisibilitySpell.java +++ b/command/src/main/java/com/iluwatar/command/InvisibilitySpell.java @@ -26,7 +26,7 @@ package com.iluwatar.command; /** * InvisibilitySpell is a concrete command. */ -public class InvisibilitySpell extends Command { +public class InvisibilitySpell implements Command { private Target target; diff --git a/command/src/main/java/com/iluwatar/command/ShrinkSpell.java b/command/src/main/java/com/iluwatar/command/ShrinkSpell.java index 87497bb7b..3f21fc7c1 100644 --- a/command/src/main/java/com/iluwatar/command/ShrinkSpell.java +++ b/command/src/main/java/com/iluwatar/command/ShrinkSpell.java @@ -26,7 +26,7 @@ package com.iluwatar.command; /** * ShrinkSpell is a concrete command. */ -public class ShrinkSpell extends Command { +public class ShrinkSpell implements Command { private Size oldSize; private Target target;