diff --git a/src/refactoring_guru/chain_of_responsibility/example/Demo.java b/src/refactoring_guru/behavior/chain_of_responsibility/example/Demo.java similarity index 76% rename from src/refactoring_guru/chain_of_responsibility/example/Demo.java rename to src/refactoring_guru/behavior/chain_of_responsibility/example/Demo.java index c81522b..fe31c7e 100644 --- a/src/refactoring_guru/chain_of_responsibility/example/Demo.java +++ b/src/refactoring_guru/behavior/chain_of_responsibility/example/Demo.java @@ -1,10 +1,10 @@ -package refactoring_guru.chain_of_responsibility.example; +package refactoring_guru.behavior.chain_of_responsibility.example; -import refactoring_guru.chain_of_responsibility.example.middleware.Middleware; -import refactoring_guru.chain_of_responsibility.example.middleware.RoleCheckMiddleware; -import refactoring_guru.chain_of_responsibility.example.middleware.ThrottlingMiddleware; -import refactoring_guru.chain_of_responsibility.example.middleware.UserExistsMiddleware; -import refactoring_guru.chain_of_responsibility.example.server.Server; +import refactoring_guru.behavior.chain_of_responsibility.example.middleware.Middleware; +import refactoring_guru.behavior.chain_of_responsibility.example.middleware.ThrottlingMiddleware; +import refactoring_guru.behavior.chain_of_responsibility.example.middleware.UserExistsMiddleware; +import refactoring_guru.behavior.chain_of_responsibility.example.server.Server; +import refactoring_guru.behavior.chain_of_responsibility.example.middleware.RoleCheckMiddleware; import java.io.BufferedReader; import java.io.IOException; diff --git a/src/refactoring_guru/chain_of_responsibility/example/OutputDemo.txt b/src/refactoring_guru/behavior/chain_of_responsibility/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/chain_of_responsibility/example/OutputDemo.txt rename to src/refactoring_guru/behavior/chain_of_responsibility/example/OutputDemo.txt diff --git a/src/refactoring_guru/chain_of_responsibility/example/middleware/Middleware.java b/src/refactoring_guru/behavior/chain_of_responsibility/example/middleware/Middleware.java similarity index 93% rename from src/refactoring_guru/chain_of_responsibility/example/middleware/Middleware.java rename to src/refactoring_guru/behavior/chain_of_responsibility/example/middleware/Middleware.java index e3ac1a7..3e5552e 100644 --- a/src/refactoring_guru/chain_of_responsibility/example/middleware/Middleware.java +++ b/src/refactoring_guru/behavior/chain_of_responsibility/example/middleware/Middleware.java @@ -1,4 +1,4 @@ -package refactoring_guru.chain_of_responsibility.example.middleware; +package refactoring_guru.behavior.chain_of_responsibility.example.middleware; /** * EN: Base middleware class. diff --git a/src/refactoring_guru/chain_of_responsibility/example/middleware/RoleCheckMiddleware.java b/src/refactoring_guru/behavior/chain_of_responsibility/example/middleware/RoleCheckMiddleware.java similarity index 86% rename from src/refactoring_guru/chain_of_responsibility/example/middleware/RoleCheckMiddleware.java rename to src/refactoring_guru/behavior/chain_of_responsibility/example/middleware/RoleCheckMiddleware.java index 1315883..40e4389 100644 --- a/src/refactoring_guru/chain_of_responsibility/example/middleware/RoleCheckMiddleware.java +++ b/src/refactoring_guru/behavior/chain_of_responsibility/example/middleware/RoleCheckMiddleware.java @@ -1,4 +1,4 @@ -package refactoring_guru.chain_of_responsibility.example.middleware; +package refactoring_guru.behavior.chain_of_responsibility.example.middleware; /** * EN: ConcreteHandler. Checks a user's role. diff --git a/src/refactoring_guru/chain_of_responsibility/example/middleware/ThrottlingMiddleware.java b/src/refactoring_guru/behavior/chain_of_responsibility/example/middleware/ThrottlingMiddleware.java similarity index 96% rename from src/refactoring_guru/chain_of_responsibility/example/middleware/ThrottlingMiddleware.java rename to src/refactoring_guru/behavior/chain_of_responsibility/example/middleware/ThrottlingMiddleware.java index 78341f2..105d0a5 100644 --- a/src/refactoring_guru/chain_of_responsibility/example/middleware/ThrottlingMiddleware.java +++ b/src/refactoring_guru/behavior/chain_of_responsibility/example/middleware/ThrottlingMiddleware.java @@ -1,4 +1,4 @@ -package refactoring_guru.chain_of_responsibility.example.middleware; +package refactoring_guru.behavior.chain_of_responsibility.example.middleware; /** * EN: ConcreteHandler. Checks whether there are too many failed login requests. diff --git a/src/refactoring_guru/chain_of_responsibility/example/middleware/UserExistsMiddleware.java b/src/refactoring_guru/behavior/chain_of_responsibility/example/middleware/UserExistsMiddleware.java similarity index 82% rename from src/refactoring_guru/chain_of_responsibility/example/middleware/UserExistsMiddleware.java rename to src/refactoring_guru/behavior/chain_of_responsibility/example/middleware/UserExistsMiddleware.java index 005d0a6..b4b6ad3 100644 --- a/src/refactoring_guru/chain_of_responsibility/example/middleware/UserExistsMiddleware.java +++ b/src/refactoring_guru/behavior/chain_of_responsibility/example/middleware/UserExistsMiddleware.java @@ -1,6 +1,6 @@ -package refactoring_guru.chain_of_responsibility.example.middleware; +package refactoring_guru.behavior.chain_of_responsibility.example.middleware; -import refactoring_guru.chain_of_responsibility.example.server.Server; +import refactoring_guru.behavior.chain_of_responsibility.example.server.Server; /** * EN: ConcreteHandler. Checks whether a user with the given credentials exists. diff --git a/src/refactoring_guru/chain_of_responsibility/example/server/Server.java b/src/refactoring_guru/behavior/chain_of_responsibility/example/server/Server.java similarity index 91% rename from src/refactoring_guru/chain_of_responsibility/example/server/Server.java rename to src/refactoring_guru/behavior/chain_of_responsibility/example/server/Server.java index 52f0be2..7ede456 100644 --- a/src/refactoring_guru/chain_of_responsibility/example/server/Server.java +++ b/src/refactoring_guru/behavior/chain_of_responsibility/example/server/Server.java @@ -1,6 +1,6 @@ -package refactoring_guru.chain_of_responsibility.example.server; +package refactoring_guru.behavior.chain_of_responsibility.example.server; -import refactoring_guru.chain_of_responsibility.example.middleware.Middleware; +import refactoring_guru.behavior.chain_of_responsibility.example.middleware.Middleware; import java.util.HashMap; import java.util.Map; diff --git a/src/refactoring_guru/command/example/Demo.java b/src/refactoring_guru/behavior/command/example/Demo.java similarity index 54% rename from src/refactoring_guru/command/example/Demo.java rename to src/refactoring_guru/behavior/command/example/Demo.java index 7fa1d5a..7d139cf 100644 --- a/src/refactoring_guru/command/example/Demo.java +++ b/src/refactoring_guru/behavior/command/example/Demo.java @@ -1,6 +1,6 @@ -package refactoring_guru.command.example; +package refactoring_guru.behavior.command.example; -import refactoring_guru.command.example.editor.Editor; +import refactoring_guru.behavior.command.example.editor.Editor; public class Demo { public static void main(String[] args) { diff --git a/src/refactoring_guru/command/example/OutputDemo.png b/src/refactoring_guru/behavior/command/example/OutputDemo.png similarity index 100% rename from src/refactoring_guru/command/example/OutputDemo.png rename to src/refactoring_guru/behavior/command/example/OutputDemo.png diff --git a/src/refactoring_guru/command/example/commands/Command.java b/src/refactoring_guru/behavior/command/example/commands/Command.java similarity index 73% rename from src/refactoring_guru/command/example/commands/Command.java rename to src/refactoring_guru/behavior/command/example/commands/Command.java index 9a6c680..3f20b18 100644 --- a/src/refactoring_guru/command/example/commands/Command.java +++ b/src/refactoring_guru/behavior/command/example/commands/Command.java @@ -1,6 +1,6 @@ -package refactoring_guru.command.example.commands; +package refactoring_guru.behavior.command.example.commands; -import refactoring_guru.command.example.editor.Editor; +import refactoring_guru.behavior.command.example.editor.Editor; public abstract class Command { public Editor editor; diff --git a/src/refactoring_guru/command/example/commands/CommandHistory.java b/src/refactoring_guru/behavior/command/example/commands/CommandHistory.java similarity index 83% rename from src/refactoring_guru/command/example/commands/CommandHistory.java rename to src/refactoring_guru/behavior/command/example/commands/CommandHistory.java index 5d578d6..cb80c74 100644 --- a/src/refactoring_guru/command/example/commands/CommandHistory.java +++ b/src/refactoring_guru/behavior/command/example/commands/CommandHistory.java @@ -1,4 +1,4 @@ -package refactoring_guru.command.example.commands; +package refactoring_guru.behavior.command.example.commands; import java.util.Stack; diff --git a/src/refactoring_guru/command/example/commands/CopyCommand.java b/src/refactoring_guru/behavior/command/example/commands/CopyCommand.java similarity index 67% rename from src/refactoring_guru/command/example/commands/CopyCommand.java rename to src/refactoring_guru/behavior/command/example/commands/CopyCommand.java index 5d4d47b..7674946 100644 --- a/src/refactoring_guru/command/example/commands/CopyCommand.java +++ b/src/refactoring_guru/behavior/command/example/commands/CopyCommand.java @@ -1,6 +1,6 @@ -package refactoring_guru.command.example.commands; +package refactoring_guru.behavior.command.example.commands; -import refactoring_guru.command.example.editor.Editor; +import refactoring_guru.behavior.command.example.editor.Editor; public class CopyCommand extends Command { diff --git a/src/refactoring_guru/command/example/commands/CutCommand.java b/src/refactoring_guru/behavior/command/example/commands/CutCommand.java similarity index 84% rename from src/refactoring_guru/command/example/commands/CutCommand.java rename to src/refactoring_guru/behavior/command/example/commands/CutCommand.java index 495d9ab..97edda9 100644 --- a/src/refactoring_guru/command/example/commands/CutCommand.java +++ b/src/refactoring_guru/behavior/command/example/commands/CutCommand.java @@ -1,6 +1,6 @@ -package refactoring_guru.command.example.commands; +package refactoring_guru.behavior.command.example.commands; -import refactoring_guru.command.example.editor.Editor; +import refactoring_guru.behavior.command.example.editor.Editor; public class CutCommand extends Command { diff --git a/src/refactoring_guru/command/example/commands/PasteCommand.java b/src/refactoring_guru/behavior/command/example/commands/PasteCommand.java similarity index 75% rename from src/refactoring_guru/command/example/commands/PasteCommand.java rename to src/refactoring_guru/behavior/command/example/commands/PasteCommand.java index e787346..45aadeb 100644 --- a/src/refactoring_guru/command/example/commands/PasteCommand.java +++ b/src/refactoring_guru/behavior/command/example/commands/PasteCommand.java @@ -1,6 +1,6 @@ -package refactoring_guru.command.example.commands; +package refactoring_guru.behavior.command.example.commands; -import refactoring_guru.command.example.editor.Editor; +import refactoring_guru.behavior.command.example.editor.Editor; public class PasteCommand extends Command { diff --git a/src/refactoring_guru/command/example/editor/Editor.java b/src/refactoring_guru/behavior/command/example/editor/Editor.java similarity index 95% rename from src/refactoring_guru/command/example/editor/Editor.java rename to src/refactoring_guru/behavior/command/example/editor/Editor.java index 87b241b..73fa749 100644 --- a/src/refactoring_guru/command/example/editor/Editor.java +++ b/src/refactoring_guru/behavior/command/example/editor/Editor.java @@ -1,6 +1,6 @@ -package refactoring_guru.command.example.editor; +package refactoring_guru.behavior.command.example.editor; -import refactoring_guru.command.example.commands.*; +import refactoring_guru.behavior.command.example.commands.*; import javax.swing.*; import java.awt.*; diff --git a/src/refactoring_guru/interpreter/example/Demo.java b/src/refactoring_guru/behavior/interpreter/example/Demo.java similarity index 84% rename from src/refactoring_guru/interpreter/example/Demo.java rename to src/refactoring_guru/behavior/interpreter/example/Demo.java index 3592338..2598717 100644 --- a/src/refactoring_guru/interpreter/example/Demo.java +++ b/src/refactoring_guru/behavior/interpreter/example/Demo.java @@ -1,9 +1,9 @@ -package refactoring_guru.interpreter.example; +package refactoring_guru.behavior.interpreter.example; -import refactoring_guru.interpreter.example.expressions.AndExpression; -import refactoring_guru.interpreter.example.expressions.Context; -import refactoring_guru.interpreter.example.expressions.OrExpression; -import refactoring_guru.interpreter.example.expressions.VariableExpression; +import refactoring_guru.behavior.interpreter.example.expressions.AndExpression; +import refactoring_guru.behavior.interpreter.example.expressions.Context; +import refactoring_guru.behavior.interpreter.example.expressions.OrExpression; +import refactoring_guru.behavior.interpreter.example.expressions.VariableExpression; /** * EN: Interpreter Design Pattern diff --git a/src/refactoring_guru/interpreter/example/OutputDemo.txt b/src/refactoring_guru/behavior/interpreter/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/interpreter/example/OutputDemo.txt rename to src/refactoring_guru/behavior/interpreter/example/OutputDemo.txt diff --git a/src/refactoring_guru/interpreter/example/expressions/AbstractExpressions.java b/src/refactoring_guru/behavior/interpreter/example/expressions/AbstractExpressions.java similarity index 64% rename from src/refactoring_guru/interpreter/example/expressions/AbstractExpressions.java rename to src/refactoring_guru/behavior/interpreter/example/expressions/AbstractExpressions.java index a6af623..9cbc089 100644 --- a/src/refactoring_guru/interpreter/example/expressions/AbstractExpressions.java +++ b/src/refactoring_guru/behavior/interpreter/example/expressions/AbstractExpressions.java @@ -1,4 +1,4 @@ -package refactoring_guru.interpreter.example.expressions; +package refactoring_guru.behavior.interpreter.example.expressions; public abstract class AbstractExpressions { public abstract boolean interpret(Context context) throws Exception; diff --git a/src/refactoring_guru/interpreter/example/expressions/AndExpression.java b/src/refactoring_guru/behavior/interpreter/example/expressions/AndExpression.java similarity index 87% rename from src/refactoring_guru/interpreter/example/expressions/AndExpression.java rename to src/refactoring_guru/behavior/interpreter/example/expressions/AndExpression.java index 286daf5..35769de 100644 --- a/src/refactoring_guru/interpreter/example/expressions/AndExpression.java +++ b/src/refactoring_guru/behavior/interpreter/example/expressions/AndExpression.java @@ -1,4 +1,4 @@ -package refactoring_guru.interpreter.example.expressions; +package refactoring_guru.behavior.interpreter.example.expressions; public class AndExpression extends AbstractExpressions { private final AbstractExpressions first; diff --git a/src/refactoring_guru/interpreter/example/expressions/Context.java b/src/refactoring_guru/behavior/interpreter/example/expressions/Context.java similarity index 87% rename from src/refactoring_guru/interpreter/example/expressions/Context.java rename to src/refactoring_guru/behavior/interpreter/example/expressions/Context.java index 57e097f..750799b 100644 --- a/src/refactoring_guru/interpreter/example/expressions/Context.java +++ b/src/refactoring_guru/behavior/interpreter/example/expressions/Context.java @@ -1,4 +1,4 @@ -package refactoring_guru.interpreter.example.expressions; +package refactoring_guru.behavior.interpreter.example.expressions; import java.util.HashMap; diff --git a/src/refactoring_guru/interpreter/example/expressions/OrExpression.java b/src/refactoring_guru/behavior/interpreter/example/expressions/OrExpression.java similarity index 86% rename from src/refactoring_guru/interpreter/example/expressions/OrExpression.java rename to src/refactoring_guru/behavior/interpreter/example/expressions/OrExpression.java index 1aa863f..d66af4b 100644 --- a/src/refactoring_guru/interpreter/example/expressions/OrExpression.java +++ b/src/refactoring_guru/behavior/interpreter/example/expressions/OrExpression.java @@ -1,4 +1,4 @@ -package refactoring_guru.interpreter.example.expressions; +package refactoring_guru.behavior.interpreter.example.expressions; public class OrExpression extends AbstractExpressions { private final AbstractExpressions first; diff --git a/src/refactoring_guru/interpreter/example/expressions/VariableExpression.java b/src/refactoring_guru/behavior/interpreter/example/expressions/VariableExpression.java similarity index 83% rename from src/refactoring_guru/interpreter/example/expressions/VariableExpression.java rename to src/refactoring_guru/behavior/interpreter/example/expressions/VariableExpression.java index 4918e0a..d86bfb9 100644 --- a/src/refactoring_guru/interpreter/example/expressions/VariableExpression.java +++ b/src/refactoring_guru/behavior/interpreter/example/expressions/VariableExpression.java @@ -1,4 +1,4 @@ -package refactoring_guru.interpreter.example.expressions; +package refactoring_guru.behavior.interpreter.example.expressions; public class VariableExpression extends AbstractExpressions { private final String name; diff --git a/src/refactoring_guru/iterator/example/Demo.java b/src/refactoring_guru/behavior/iterator/example/Demo.java similarity index 82% rename from src/refactoring_guru/iterator/example/Demo.java rename to src/refactoring_guru/behavior/iterator/example/Demo.java index 31ff314..89264c3 100644 --- a/src/refactoring_guru/iterator/example/Demo.java +++ b/src/refactoring_guru/behavior/iterator/example/Demo.java @@ -1,10 +1,10 @@ -package refactoring_guru.iterator.example; +package refactoring_guru.behavior.iterator.example; -import refactoring_guru.iterator.example.profile.Profile; -import refactoring_guru.iterator.example.social_networks.Facebook; -import refactoring_guru.iterator.example.social_networks.LinkedIn; -import refactoring_guru.iterator.example.social_networks.SocialNetwork; -import refactoring_guru.iterator.example.spammer.SocialSpammer; +import refactoring_guru.behavior.iterator.example.profile.Profile; +import refactoring_guru.behavior.iterator.example.social_networks.Facebook; +import refactoring_guru.behavior.iterator.example.social_networks.LinkedIn; +import refactoring_guru.behavior.iterator.example.social_networks.SocialNetwork; +import refactoring_guru.behavior.iterator.example.spammer.SocialSpammer; import java.util.ArrayList; import java.util.List; diff --git a/src/refactoring_guru/iterator/example/OutputDemo.txt b/src/refactoring_guru/behavior/iterator/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/iterator/example/OutputDemo.txt rename to src/refactoring_guru/behavior/iterator/example/OutputDemo.txt diff --git a/src/refactoring_guru/iterator/example/iterators/FacebookIterator.java b/src/refactoring_guru/behavior/iterator/example/iterators/FacebookIterator.java similarity index 88% rename from src/refactoring_guru/iterator/example/iterators/FacebookIterator.java rename to src/refactoring_guru/behavior/iterator/example/iterators/FacebookIterator.java index 1efb222..aeef0c3 100644 --- a/src/refactoring_guru/iterator/example/iterators/FacebookIterator.java +++ b/src/refactoring_guru/behavior/iterator/example/iterators/FacebookIterator.java @@ -1,7 +1,7 @@ -package refactoring_guru.iterator.example.iterators; +package refactoring_guru.behavior.iterator.example.iterators; -import refactoring_guru.iterator.example.profile.Profile; -import refactoring_guru.iterator.example.social_networks.Facebook; +import refactoring_guru.behavior.iterator.example.social_networks.Facebook; +import refactoring_guru.behavior.iterator.example.profile.Profile; import java.util.ArrayList; import java.util.List; diff --git a/src/refactoring_guru/iterator/example/iterators/LinkedInIterator.java b/src/refactoring_guru/behavior/iterator/example/iterators/LinkedInIterator.java similarity index 88% rename from src/refactoring_guru/iterator/example/iterators/LinkedInIterator.java rename to src/refactoring_guru/behavior/iterator/example/iterators/LinkedInIterator.java index 92d4fcc..226e4e8 100644 --- a/src/refactoring_guru/iterator/example/iterators/LinkedInIterator.java +++ b/src/refactoring_guru/behavior/iterator/example/iterators/LinkedInIterator.java @@ -1,7 +1,7 @@ -package refactoring_guru.iterator.example.iterators; +package refactoring_guru.behavior.iterator.example.iterators; -import refactoring_guru.iterator.example.profile.Profile; -import refactoring_guru.iterator.example.social_networks.LinkedIn; +import refactoring_guru.behavior.iterator.example.social_networks.LinkedIn; +import refactoring_guru.behavior.iterator.example.profile.Profile; import java.util.ArrayList; import java.util.List; diff --git a/src/refactoring_guru/behavior/iterator/example/iterators/ProfileIterator.java b/src/refactoring_guru/behavior/iterator/example/iterators/ProfileIterator.java new file mode 100644 index 0000000..b57454a --- /dev/null +++ b/src/refactoring_guru/behavior/iterator/example/iterators/ProfileIterator.java @@ -0,0 +1,11 @@ +package refactoring_guru.behavior.iterator.example.iterators; + +import refactoring_guru.behavior.iterator.example.profile.Profile; + +public interface ProfileIterator { + boolean hasNext(); + + Profile getNext(); + + void reset(); +} \ No newline at end of file diff --git a/src/refactoring_guru/iterator/example/profile/Profile.java b/src/refactoring_guru/behavior/iterator/example/profile/Profile.java similarity index 95% rename from src/refactoring_guru/iterator/example/profile/Profile.java rename to src/refactoring_guru/behavior/iterator/example/profile/Profile.java index ed49864..dc49e10 100644 --- a/src/refactoring_guru/iterator/example/profile/Profile.java +++ b/src/refactoring_guru/behavior/iterator/example/profile/Profile.java @@ -1,4 +1,4 @@ -package refactoring_guru.iterator.example.profile; +package refactoring_guru.behavior.iterator.example.profile; import java.util.ArrayList; import java.util.HashMap; diff --git a/src/refactoring_guru/iterator/example/social_networks/Facebook.java b/src/refactoring_guru/behavior/iterator/example/social_networks/Facebook.java similarity index 91% rename from src/refactoring_guru/iterator/example/social_networks/Facebook.java rename to src/refactoring_guru/behavior/iterator/example/social_networks/Facebook.java index 7c6e6f3..6ccaa56 100644 --- a/src/refactoring_guru/iterator/example/social_networks/Facebook.java +++ b/src/refactoring_guru/behavior/iterator/example/social_networks/Facebook.java @@ -1,8 +1,8 @@ -package refactoring_guru.iterator.example.social_networks; +package refactoring_guru.behavior.iterator.example.social_networks; -import refactoring_guru.iterator.example.iterators.FacebookIterator; -import refactoring_guru.iterator.example.iterators.ProfileIterator; -import refactoring_guru.iterator.example.profile.Profile; +import refactoring_guru.behavior.iterator.example.iterators.FacebookIterator; +import refactoring_guru.behavior.iterator.example.iterators.ProfileIterator; +import refactoring_guru.behavior.iterator.example.profile.Profile; import java.util.ArrayList; import java.util.List; diff --git a/src/refactoring_guru/iterator/example/social_networks/LinkedIn.java b/src/refactoring_guru/behavior/iterator/example/social_networks/LinkedIn.java similarity index 91% rename from src/refactoring_guru/iterator/example/social_networks/LinkedIn.java rename to src/refactoring_guru/behavior/iterator/example/social_networks/LinkedIn.java index 28b1965..78c047f 100644 --- a/src/refactoring_guru/iterator/example/social_networks/LinkedIn.java +++ b/src/refactoring_guru/behavior/iterator/example/social_networks/LinkedIn.java @@ -1,8 +1,8 @@ -package refactoring_guru.iterator.example.social_networks; +package refactoring_guru.behavior.iterator.example.social_networks; -import refactoring_guru.iterator.example.iterators.LinkedInIterator; -import refactoring_guru.iterator.example.iterators.ProfileIterator; -import refactoring_guru.iterator.example.profile.Profile; +import refactoring_guru.behavior.iterator.example.iterators.LinkedInIterator; +import refactoring_guru.behavior.iterator.example.iterators.ProfileIterator; +import refactoring_guru.behavior.iterator.example.profile.Profile; import java.util.ArrayList; import java.util.List; diff --git a/src/refactoring_guru/iterator/example/social_networks/SocialNetwork.java b/src/refactoring_guru/behavior/iterator/example/social_networks/SocialNetwork.java similarity index 53% rename from src/refactoring_guru/iterator/example/social_networks/SocialNetwork.java rename to src/refactoring_guru/behavior/iterator/example/social_networks/SocialNetwork.java index 65597af..f86c7b6 100644 --- a/src/refactoring_guru/iterator/example/social_networks/SocialNetwork.java +++ b/src/refactoring_guru/behavior/iterator/example/social_networks/SocialNetwork.java @@ -1,6 +1,6 @@ -package refactoring_guru.iterator.example.social_networks; +package refactoring_guru.behavior.iterator.example.social_networks; -import refactoring_guru.iterator.example.iterators.ProfileIterator; +import refactoring_guru.behavior.iterator.example.iterators.ProfileIterator; public interface SocialNetwork { ProfileIterator createFriendsIterator(String profileEmail); diff --git a/src/refactoring_guru/iterator/example/spammer/SocialSpammer.java b/src/refactoring_guru/behavior/iterator/example/spammer/SocialSpammer.java similarity index 79% rename from src/refactoring_guru/iterator/example/spammer/SocialSpammer.java rename to src/refactoring_guru/behavior/iterator/example/spammer/SocialSpammer.java index 9e6c99a..bf4a4a7 100644 --- a/src/refactoring_guru/iterator/example/spammer/SocialSpammer.java +++ b/src/refactoring_guru/behavior/iterator/example/spammer/SocialSpammer.java @@ -1,8 +1,8 @@ -package refactoring_guru.iterator.example.spammer; +package refactoring_guru.behavior.iterator.example.spammer; -import refactoring_guru.iterator.example.iterators.ProfileIterator; -import refactoring_guru.iterator.example.profile.Profile; -import refactoring_guru.iterator.example.social_networks.SocialNetwork; +import refactoring_guru.behavior.iterator.example.iterators.ProfileIterator; +import refactoring_guru.behavior.iterator.example.social_networks.SocialNetwork; +import refactoring_guru.behavior.iterator.example.profile.Profile; public class SocialSpammer { public SocialNetwork network; diff --git a/src/refactoring_guru/mediator/example/Demo.java b/src/refactoring_guru/behavior/mediator/example/Demo.java similarity index 73% rename from src/refactoring_guru/mediator/example/Demo.java rename to src/refactoring_guru/behavior/mediator/example/Demo.java index 14f5612..fa9db7f 100644 --- a/src/refactoring_guru/mediator/example/Demo.java +++ b/src/refactoring_guru/behavior/mediator/example/Demo.java @@ -1,8 +1,8 @@ -package refactoring_guru.mediator.example; +package refactoring_guru.behavior.mediator.example; -import refactoring_guru.mediator.example.components.*; -import refactoring_guru.mediator.example.mediator.Editor; -import refactoring_guru.mediator.example.mediator.Mediator; +import refactoring_guru.behavior.mediator.example.components.*; +import refactoring_guru.behavior.mediator.example.mediator.Editor; +import refactoring_guru.behavior.mediator.example.mediator.Mediator; import javax.swing.*; diff --git a/src/refactoring_guru/mediator/example/OutputDemo.png b/src/refactoring_guru/behavior/mediator/example/OutputDemo.png similarity index 100% rename from src/refactoring_guru/mediator/example/OutputDemo.png rename to src/refactoring_guru/behavior/mediator/example/OutputDemo.png diff --git a/src/refactoring_guru/mediator/example/components/AddButton.java b/src/refactoring_guru/behavior/mediator/example/components/AddButton.java similarity index 82% rename from src/refactoring_guru/mediator/example/components/AddButton.java rename to src/refactoring_guru/behavior/mediator/example/components/AddButton.java index 6c351d4..8871d25 100644 --- a/src/refactoring_guru/mediator/example/components/AddButton.java +++ b/src/refactoring_guru/behavior/mediator/example/components/AddButton.java @@ -1,7 +1,7 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavior.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; -import refactoring_guru.mediator.example.mediator.Note; +import refactoring_guru.behavior.mediator.example.mediator.Mediator; +import refactoring_guru.behavior.mediator.example.mediator.Note; import javax.swing.*; import java.awt.event.ActionEvent; diff --git a/src/refactoring_guru/mediator/example/components/Component.java b/src/refactoring_guru/behavior/mediator/example/components/Component.java similarity index 60% rename from src/refactoring_guru/mediator/example/components/Component.java rename to src/refactoring_guru/behavior/mediator/example/components/Component.java index 780ff40..6239670 100644 --- a/src/refactoring_guru/mediator/example/components/Component.java +++ b/src/refactoring_guru/behavior/mediator/example/components/Component.java @@ -1,6 +1,6 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavior.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; +import refactoring_guru.behavior.mediator.example.mediator.Mediator; /** * EN: Common component interface. diff --git a/src/refactoring_guru/mediator/example/components/DeleteButton.java b/src/refactoring_guru/behavior/mediator/example/components/DeleteButton.java similarity index 87% rename from src/refactoring_guru/mediator/example/components/DeleteButton.java rename to src/refactoring_guru/behavior/mediator/example/components/DeleteButton.java index b9389a6..8a821e7 100644 --- a/src/refactoring_guru/mediator/example/components/DeleteButton.java +++ b/src/refactoring_guru/behavior/mediator/example/components/DeleteButton.java @@ -1,6 +1,6 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavior.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; +import refactoring_guru.behavior.mediator.example.mediator.Mediator; import javax.swing.*; import java.awt.event.ActionEvent; diff --git a/src/refactoring_guru/mediator/example/components/Filter.java b/src/refactoring_guru/behavior/mediator/example/components/Filter.java similarity index 89% rename from src/refactoring_guru/mediator/example/components/Filter.java rename to src/refactoring_guru/behavior/mediator/example/components/Filter.java index c60aa0e..a1756cf 100644 --- a/src/refactoring_guru/mediator/example/components/Filter.java +++ b/src/refactoring_guru/behavior/mediator/example/components/Filter.java @@ -1,7 +1,7 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavior.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; -import refactoring_guru.mediator.example.mediator.Note; +import refactoring_guru.behavior.mediator.example.mediator.Mediator; +import refactoring_guru.behavior.mediator.example.mediator.Note; import javax.swing.*; import java.awt.event.KeyEvent; diff --git a/src/refactoring_guru/mediator/example/components/List.java b/src/refactoring_guru/behavior/mediator/example/components/List.java similarity index 91% rename from src/refactoring_guru/mediator/example/components/List.java rename to src/refactoring_guru/behavior/mediator/example/components/List.java index 3694ce6..5ef91bc 100644 --- a/src/refactoring_guru/mediator/example/components/List.java +++ b/src/refactoring_guru/behavior/mediator/example/components/List.java @@ -1,7 +1,7 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavior.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; -import refactoring_guru.mediator.example.mediator.Note; +import refactoring_guru.behavior.mediator.example.mediator.Mediator; +import refactoring_guru.behavior.mediator.example.mediator.Note; import javax.swing.*; diff --git a/src/refactoring_guru/mediator/example/components/SaveButton.java b/src/refactoring_guru/behavior/mediator/example/components/SaveButton.java similarity index 87% rename from src/refactoring_guru/mediator/example/components/SaveButton.java rename to src/refactoring_guru/behavior/mediator/example/components/SaveButton.java index 52f897f..1512b31 100644 --- a/src/refactoring_guru/mediator/example/components/SaveButton.java +++ b/src/refactoring_guru/behavior/mediator/example/components/SaveButton.java @@ -1,6 +1,6 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavior.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; +import refactoring_guru.behavior.mediator.example.mediator.Mediator; import javax.swing.*; import java.awt.event.ActionEvent; diff --git a/src/refactoring_guru/mediator/example/components/TextBox.java b/src/refactoring_guru/behavior/mediator/example/components/TextBox.java similarity index 86% rename from src/refactoring_guru/mediator/example/components/TextBox.java rename to src/refactoring_guru/behavior/mediator/example/components/TextBox.java index fff5887..e1bf40b 100644 --- a/src/refactoring_guru/mediator/example/components/TextBox.java +++ b/src/refactoring_guru/behavior/mediator/example/components/TextBox.java @@ -1,6 +1,6 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavior.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; +import refactoring_guru.behavior.mediator.example.mediator.Mediator; import javax.swing.*; import java.awt.event.KeyEvent; diff --git a/src/refactoring_guru/mediator/example/components/Title.java b/src/refactoring_guru/behavior/mediator/example/components/Title.java similarity index 86% rename from src/refactoring_guru/mediator/example/components/Title.java rename to src/refactoring_guru/behavior/mediator/example/components/Title.java index 4f0e0b9..6ed4005 100644 --- a/src/refactoring_guru/mediator/example/components/Title.java +++ b/src/refactoring_guru/behavior/mediator/example/components/Title.java @@ -1,6 +1,6 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavior.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; +import refactoring_guru.behavior.mediator.example.mediator.Mediator; import javax.swing.*; import java.awt.event.KeyEvent; diff --git a/src/refactoring_guru/mediator/example/mediator/Editor.java b/src/refactoring_guru/behavior/mediator/example/mediator/Editor.java similarity index 94% rename from src/refactoring_guru/mediator/example/mediator/Editor.java rename to src/refactoring_guru/behavior/mediator/example/mediator/Editor.java index d60ff2a..2b0c46e 100644 --- a/src/refactoring_guru/mediator/example/mediator/Editor.java +++ b/src/refactoring_guru/behavior/mediator/example/mediator/Editor.java @@ -1,8 +1,8 @@ -package refactoring_guru.mediator.example.mediator; +package refactoring_guru.behavior.mediator.example.mediator; -import refactoring_guru.mediator.example.components.*; -import refactoring_guru.mediator.example.components.Component; -import refactoring_guru.mediator.example.components.List; +import refactoring_guru.behavior.mediator.example.components.*; +import refactoring_guru.behavior.mediator.example.components.Component; +import refactoring_guru.behavior.mediator.example.components.List; import javax.swing.*; import javax.swing.border.LineBorder; @@ -23,7 +23,7 @@ public class Editor implements Mediator { private AddButton add; private DeleteButton del; private SaveButton save; - private List list; + private refactoring_guru.behavior.mediator.example.components.List list; private Filter filter; private JLabel titleLabel = new JLabel("Title:"); diff --git a/src/refactoring_guru/mediator/example/mediator/Mediator.java b/src/refactoring_guru/behavior/mediator/example/mediator/Mediator.java similarity index 79% rename from src/refactoring_guru/mediator/example/mediator/Mediator.java rename to src/refactoring_guru/behavior/mediator/example/mediator/Mediator.java index 86806f5..9b28bea 100644 --- a/src/refactoring_guru/mediator/example/mediator/Mediator.java +++ b/src/refactoring_guru/behavior/mediator/example/mediator/Mediator.java @@ -1,6 +1,6 @@ -package refactoring_guru.mediator.example.mediator; +package refactoring_guru.behavior.mediator.example.mediator; -import refactoring_guru.mediator.example.components.Component; +import refactoring_guru.behavior.mediator.example.components.Component; import javax.swing.*; diff --git a/src/refactoring_guru/mediator/example/mediator/Note.java b/src/refactoring_guru/behavior/mediator/example/mediator/Note.java similarity index 89% rename from src/refactoring_guru/mediator/example/mediator/Note.java rename to src/refactoring_guru/behavior/mediator/example/mediator/Note.java index d727fef..88d3fd7 100644 --- a/src/refactoring_guru/mediator/example/mediator/Note.java +++ b/src/refactoring_guru/behavior/mediator/example/mediator/Note.java @@ -1,4 +1,4 @@ -package refactoring_guru.mediator.example.mediator; +package refactoring_guru.behavior.mediator.example.mediator; /** * EN: Note class. diff --git a/src/refactoring_guru/memento/example/Demo.java b/src/refactoring_guru/behavior/memento/example/Demo.java similarity index 66% rename from src/refactoring_guru/memento/example/Demo.java rename to src/refactoring_guru/behavior/memento/example/Demo.java index da19c60..d900ca6 100644 --- a/src/refactoring_guru/memento/example/Demo.java +++ b/src/refactoring_guru/behavior/memento/example/Demo.java @@ -1,10 +1,10 @@ -package refactoring_guru.memento.example; +package refactoring_guru.behavior.memento.example; -import refactoring_guru.memento.example.editor.Editor; -import refactoring_guru.memento.example.shapes.Circle; -import refactoring_guru.memento.example.shapes.CompoundShape; -import refactoring_guru.memento.example.shapes.Dot; -import refactoring_guru.memento.example.shapes.Rectangle; +import refactoring_guru.behavior.memento.example.editor.Editor; +import refactoring_guru.behavior.memento.example.shapes.Circle; +import refactoring_guru.behavior.memento.example.shapes.CompoundShape; +import refactoring_guru.behavior.memento.example.shapes.Dot; +import refactoring_guru.behavior.memento.example.shapes.Rectangle; import java.awt.*; diff --git a/src/refactoring_guru/memento/example/OutputDemo.png b/src/refactoring_guru/behavior/memento/example/OutputDemo.png similarity index 100% rename from src/refactoring_guru/memento/example/OutputDemo.png rename to src/refactoring_guru/behavior/memento/example/OutputDemo.png diff --git a/src/refactoring_guru/memento/example/commands/ColorCommand.java b/src/refactoring_guru/behavior/memento/example/commands/ColorCommand.java similarity index 72% rename from src/refactoring_guru/memento/example/commands/ColorCommand.java rename to src/refactoring_guru/behavior/memento/example/commands/ColorCommand.java index 3c6d9a3..9cab09a 100644 --- a/src/refactoring_guru/memento/example/commands/ColorCommand.java +++ b/src/refactoring_guru/behavior/memento/example/commands/ColorCommand.java @@ -1,7 +1,7 @@ -package refactoring_guru.memento.example.commands; +package refactoring_guru.behavior.memento.example.commands; -import refactoring_guru.memento.example.editor.Editor; -import refactoring_guru.memento.example.shapes.Shape; +import refactoring_guru.behavior.memento.example.editor.Editor; +import refactoring_guru.behavior.memento.example.shapes.Shape; import java.awt.*; diff --git a/src/refactoring_guru/memento/example/commands/Command.java b/src/refactoring_guru/behavior/memento/example/commands/Command.java similarity index 54% rename from src/refactoring_guru/memento/example/commands/Command.java rename to src/refactoring_guru/behavior/memento/example/commands/Command.java index 56e0997..79a5bc1 100644 --- a/src/refactoring_guru/memento/example/commands/Command.java +++ b/src/refactoring_guru/behavior/memento/example/commands/Command.java @@ -1,4 +1,4 @@ -package refactoring_guru.memento.example.commands; +package refactoring_guru.behavior.memento.example.commands; public interface Command { String getName(); diff --git a/src/refactoring_guru/memento/example/commands/MoveCommand.java b/src/refactoring_guru/behavior/memento/example/commands/MoveCommand.java similarity index 84% rename from src/refactoring_guru/memento/example/commands/MoveCommand.java rename to src/refactoring_guru/behavior/memento/example/commands/MoveCommand.java index f134c43..7b8c4b0 100644 --- a/src/refactoring_guru/memento/example/commands/MoveCommand.java +++ b/src/refactoring_guru/behavior/memento/example/commands/MoveCommand.java @@ -1,7 +1,7 @@ -package refactoring_guru.memento.example.commands; +package refactoring_guru.behavior.memento.example.commands; -import refactoring_guru.memento.example.editor.Editor; -import refactoring_guru.memento.example.shapes.Shape; +import refactoring_guru.behavior.memento.example.editor.Editor; +import refactoring_guru.behavior.memento.example.shapes.Shape; public class MoveCommand implements Command { private Editor editor; diff --git a/src/refactoring_guru/memento/example/editor/Canvas.java b/src/refactoring_guru/behavior/memento/example/editor/Canvas.java similarity index 93% rename from src/refactoring_guru/memento/example/editor/Canvas.java rename to src/refactoring_guru/behavior/memento/example/editor/Canvas.java index 06105ed..bf2760f 100644 --- a/src/refactoring_guru/memento/example/editor/Canvas.java +++ b/src/refactoring_guru/behavior/memento/example/editor/Canvas.java @@ -1,8 +1,8 @@ -package refactoring_guru.memento.example.editor; +package refactoring_guru.behavior.memento.example.editor; -import refactoring_guru.memento.example.commands.ColorCommand; -import refactoring_guru.memento.example.commands.MoveCommand; -import refactoring_guru.memento.example.shapes.Shape; +import refactoring_guru.behavior.memento.example.shapes.Shape; +import refactoring_guru.behavior.memento.example.commands.ColorCommand; +import refactoring_guru.behavior.memento.example.commands.MoveCommand; import javax.swing.*; import javax.swing.border.Border; @@ -67,7 +67,7 @@ public void mousePressed(MouseEvent e) { if (e.getButton() != MouseEvent.BUTTON3) { return; } - Shape target = editor.getShapes().getChildAt(e.getX(), e.getY()); + refactoring_guru.behavior.memento.example.shapes.Shape target = editor.getShapes().getChildAt(e.getX(), e.getY()); if (target != null) { editor.execute(new ColorCommand(editor, new Color((int) (Math.random() * 0x1000000)))); repaint(); diff --git a/src/refactoring_guru/memento/example/editor/Editor.java b/src/refactoring_guru/behavior/memento/example/editor/Editor.java similarity index 81% rename from src/refactoring_guru/memento/example/editor/Editor.java rename to src/refactoring_guru/behavior/memento/example/editor/Editor.java index 90f7dc6..7e5c550 100644 --- a/src/refactoring_guru/memento/example/editor/Editor.java +++ b/src/refactoring_guru/behavior/memento/example/editor/Editor.java @@ -1,10 +1,10 @@ -package refactoring_guru.memento.example.editor; +package refactoring_guru.behavior.memento.example.editor; -import refactoring_guru.memento.example.commands.Command; -import refactoring_guru.memento.example.history.History; -import refactoring_guru.memento.example.history.Memento; -import refactoring_guru.memento.example.shapes.CompoundShape; -import refactoring_guru.memento.example.shapes.Shape; +import refactoring_guru.behavior.memento.example.history.History; +import refactoring_guru.behavior.memento.example.shapes.CompoundShape; +import refactoring_guru.behavior.memento.example.shapes.Shape; +import refactoring_guru.behavior.memento.example.commands.Command; +import refactoring_guru.behavior.memento.example.history.Memento; import javax.swing.*; import java.io.*; diff --git a/src/refactoring_guru/memento/example/history/History.java b/src/refactoring_guru/behavior/memento/example/history/History.java similarity index 93% rename from src/refactoring_guru/memento/example/history/History.java rename to src/refactoring_guru/behavior/memento/example/history/History.java index 90d6cbd..e721541 100644 --- a/src/refactoring_guru/memento/example/history/History.java +++ b/src/refactoring_guru/behavior/memento/example/history/History.java @@ -1,6 +1,6 @@ -package refactoring_guru.memento.example.history; +package refactoring_guru.behavior.memento.example.history; -import refactoring_guru.memento.example.commands.Command; +import refactoring_guru.behavior.memento.example.commands.Command; import java.util.ArrayList; import java.util.List; diff --git a/src/refactoring_guru/memento/example/history/Memento.java b/src/refactoring_guru/behavior/memento/example/history/Memento.java similarity index 67% rename from src/refactoring_guru/memento/example/history/Memento.java rename to src/refactoring_guru/behavior/memento/example/history/Memento.java index 6800638..fbcc4b0 100644 --- a/src/refactoring_guru/memento/example/history/Memento.java +++ b/src/refactoring_guru/behavior/memento/example/history/Memento.java @@ -1,6 +1,6 @@ -package refactoring_guru.memento.example.history; +package refactoring_guru.behavior.memento.example.history; -import refactoring_guru.memento.example.editor.Editor; +import refactoring_guru.behavior.memento.example.editor.Editor; public class Memento { private String backup; diff --git a/src/refactoring_guru/memento/example/shapes/BaseShape.java b/src/refactoring_guru/behavior/memento/example/shapes/BaseShape.java similarity index 97% rename from src/refactoring_guru/memento/example/shapes/BaseShape.java rename to src/refactoring_guru/behavior/memento/example/shapes/BaseShape.java index 4214765..4e516e2 100644 --- a/src/refactoring_guru/memento/example/shapes/BaseShape.java +++ b/src/refactoring_guru/behavior/memento/example/shapes/BaseShape.java @@ -1,4 +1,4 @@ -package refactoring_guru.memento.example.shapes; +package refactoring_guru.behavior.memento.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/memento/example/shapes/Circle.java b/src/refactoring_guru/behavior/memento/example/shapes/Circle.java similarity index 90% rename from src/refactoring_guru/memento/example/shapes/Circle.java rename to src/refactoring_guru/behavior/memento/example/shapes/Circle.java index 6400a50..cd04b7c 100644 --- a/src/refactoring_guru/memento/example/shapes/Circle.java +++ b/src/refactoring_guru/behavior/memento/example/shapes/Circle.java @@ -1,4 +1,4 @@ -package refactoring_guru.memento.example.shapes; +package refactoring_guru.behavior.memento.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/memento/example/shapes/CompoundShape.java b/src/refactoring_guru/behavior/memento/example/shapes/CompoundShape.java similarity index 98% rename from src/refactoring_guru/memento/example/shapes/CompoundShape.java rename to src/refactoring_guru/behavior/memento/example/shapes/CompoundShape.java index ba94a4b..2ac0377 100644 --- a/src/refactoring_guru/memento/example/shapes/CompoundShape.java +++ b/src/refactoring_guru/behavior/memento/example/shapes/CompoundShape.java @@ -1,4 +1,4 @@ -package refactoring_guru.memento.example.shapes; +package refactoring_guru.behavior.memento.example.shapes; import java.awt.*; import java.util.ArrayList; diff --git a/src/refactoring_guru/composite/example/shapes/Dot.java b/src/refactoring_guru/behavior/memento/example/shapes/Dot.java similarity index 89% rename from src/refactoring_guru/composite/example/shapes/Dot.java rename to src/refactoring_guru/behavior/memento/example/shapes/Dot.java index 205326a..ae2c78c 100644 --- a/src/refactoring_guru/composite/example/shapes/Dot.java +++ b/src/refactoring_guru/behavior/memento/example/shapes/Dot.java @@ -1,4 +1,4 @@ -package refactoring_guru.composite.example.shapes; +package refactoring_guru.behavior.memento.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/memento/example/shapes/Rectangle.java b/src/refactoring_guru/behavior/memento/example/shapes/Rectangle.java similarity index 90% rename from src/refactoring_guru/memento/example/shapes/Rectangle.java rename to src/refactoring_guru/behavior/memento/example/shapes/Rectangle.java index 76aa5e8..1ab991c 100644 --- a/src/refactoring_guru/memento/example/shapes/Rectangle.java +++ b/src/refactoring_guru/behavior/memento/example/shapes/Rectangle.java @@ -1,4 +1,4 @@ -package refactoring_guru.memento.example.shapes; +package refactoring_guru.behavior.memento.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/memento/example/shapes/Shape.java b/src/refactoring_guru/behavior/memento/example/shapes/Shape.java similarity index 88% rename from src/refactoring_guru/memento/example/shapes/Shape.java rename to src/refactoring_guru/behavior/memento/example/shapes/Shape.java index 90d078d..36b7214 100644 --- a/src/refactoring_guru/memento/example/shapes/Shape.java +++ b/src/refactoring_guru/behavior/memento/example/shapes/Shape.java @@ -1,4 +1,4 @@ -package refactoring_guru.memento.example.shapes; +package refactoring_guru.behavior.memento.example.shapes; import java.awt.*; import java.io.Serializable; diff --git a/src/refactoring_guru/observer/example/Demo.java b/src/refactoring_guru/behavior/observer/example/Demo.java similarity index 61% rename from src/refactoring_guru/observer/example/Demo.java rename to src/refactoring_guru/behavior/observer/example/Demo.java index 7d399c0..af298b7 100644 --- a/src/refactoring_guru/observer/example/Demo.java +++ b/src/refactoring_guru/behavior/observer/example/Demo.java @@ -1,8 +1,8 @@ -package refactoring_guru.observer.example; +package refactoring_guru.behavior.observer.example; -import refactoring_guru.observer.example.editor.Editor; -import refactoring_guru.observer.example.listeners.EmailNotificationListener; -import refactoring_guru.observer.example.listeners.LogOpenListener; +import refactoring_guru.behavior.observer.example.editor.Editor; +import refactoring_guru.behavior.observer.example.listeners.EmailNotificationListener; +import refactoring_guru.behavior.observer.example.listeners.LogOpenListener; public class Demo { public static void main(String[] args) { diff --git a/src/refactoring_guru/observer/example/OutputDemo.txt b/src/refactoring_guru/behavior/observer/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/observer/example/OutputDemo.txt rename to src/refactoring_guru/behavior/observer/example/OutputDemo.txt diff --git a/src/refactoring_guru/observer/example/editor/Editor.java b/src/refactoring_guru/behavior/observer/example/editor/Editor.java similarity index 80% rename from src/refactoring_guru/observer/example/editor/Editor.java rename to src/refactoring_guru/behavior/observer/example/editor/Editor.java index f373045..d582eb0 100644 --- a/src/refactoring_guru/observer/example/editor/Editor.java +++ b/src/refactoring_guru/behavior/observer/example/editor/Editor.java @@ -1,6 +1,6 @@ -package refactoring_guru.observer.example.editor; +package refactoring_guru.behavior.observer.example.editor; -import refactoring_guru.observer.example.publisher.EventManager; +import refactoring_guru.behavior.observer.example.publisher.EventManager; import java.io.File; diff --git a/src/refactoring_guru/observer/example/listeners/EmailNotificationListener.java b/src/refactoring_guru/behavior/observer/example/listeners/EmailNotificationListener.java similarity index 87% rename from src/refactoring_guru/observer/example/listeners/EmailNotificationListener.java rename to src/refactoring_guru/behavior/observer/example/listeners/EmailNotificationListener.java index efd3f9d..a061ee7 100644 --- a/src/refactoring_guru/observer/example/listeners/EmailNotificationListener.java +++ b/src/refactoring_guru/behavior/observer/example/listeners/EmailNotificationListener.java @@ -1,4 +1,4 @@ -package refactoring_guru.observer.example.listeners; +package refactoring_guru.behavior.observer.example.listeners; import java.io.File; diff --git a/src/refactoring_guru/observer/example/listeners/EventListener.java b/src/refactoring_guru/behavior/observer/example/listeners/EventListener.java similarity index 62% rename from src/refactoring_guru/observer/example/listeners/EventListener.java rename to src/refactoring_guru/behavior/observer/example/listeners/EventListener.java index a996b3a..50c09ff 100644 --- a/src/refactoring_guru/observer/example/listeners/EventListener.java +++ b/src/refactoring_guru/behavior/observer/example/listeners/EventListener.java @@ -1,4 +1,4 @@ -package refactoring_guru.observer.example.listeners; +package refactoring_guru.behavior.observer.example.listeners; import java.io.File; diff --git a/src/refactoring_guru/observer/example/listeners/LogOpenListener.java b/src/refactoring_guru/behavior/observer/example/listeners/LogOpenListener.java similarity index 87% rename from src/refactoring_guru/observer/example/listeners/LogOpenListener.java rename to src/refactoring_guru/behavior/observer/example/listeners/LogOpenListener.java index 180470b..7550c98 100644 --- a/src/refactoring_guru/observer/example/listeners/LogOpenListener.java +++ b/src/refactoring_guru/behavior/observer/example/listeners/LogOpenListener.java @@ -1,4 +1,4 @@ -package refactoring_guru.observer.example.listeners; +package refactoring_guru.behavior.observer.example.listeners; import java.io.File; diff --git a/src/refactoring_guru/observer/example/publisher/EventManager.java b/src/refactoring_guru/behavior/observer/example/publisher/EventManager.java similarity index 87% rename from src/refactoring_guru/observer/example/publisher/EventManager.java rename to src/refactoring_guru/behavior/observer/example/publisher/EventManager.java index 2918ba1..3a79f43 100644 --- a/src/refactoring_guru/observer/example/publisher/EventManager.java +++ b/src/refactoring_guru/behavior/observer/example/publisher/EventManager.java @@ -1,6 +1,6 @@ -package refactoring_guru.observer.example.publisher; +package refactoring_guru.behavior.observer.example.publisher; -import refactoring_guru.observer.example.listeners.EventListener; +import refactoring_guru.behavior.observer.example.listeners.EventListener; import java.io.File; import java.util.ArrayList; diff --git a/src/refactoring_guru/state/example/Demo.java b/src/refactoring_guru/behavior/state/example/Demo.java similarity index 65% rename from src/refactoring_guru/state/example/Demo.java rename to src/refactoring_guru/behavior/state/example/Demo.java index 03b89dd..2d73c49 100644 --- a/src/refactoring_guru/state/example/Demo.java +++ b/src/refactoring_guru/behavior/state/example/Demo.java @@ -1,7 +1,7 @@ -package refactoring_guru.state.example; +package refactoring_guru.behavior.state.example; -import refactoring_guru.state.example.ui.Player; -import refactoring_guru.state.example.ui.UI; +import refactoring_guru.behavior.state.example.ui.Player; +import refactoring_guru.behavior.state.example.ui.UI; /** * EN: Demo class. Everything comes together here. diff --git a/src/refactoring_guru/state/example/OutputDemo.png b/src/refactoring_guru/behavior/state/example/OutputDemo.png similarity index 100% rename from src/refactoring_guru/state/example/OutputDemo.png rename to src/refactoring_guru/behavior/state/example/OutputDemo.png diff --git a/src/refactoring_guru/state/example/states/LockedState.java b/src/refactoring_guru/behavior/state/example/states/LockedState.java similarity index 88% rename from src/refactoring_guru/state/example/states/LockedState.java rename to src/refactoring_guru/behavior/state/example/states/LockedState.java index 1dde3f1..8dcd10b 100644 --- a/src/refactoring_guru/state/example/states/LockedState.java +++ b/src/refactoring_guru/behavior/state/example/states/LockedState.java @@ -1,6 +1,6 @@ -package refactoring_guru.state.example.states; +package refactoring_guru.behavior.state.example.states; -import refactoring_guru.state.example.ui.Player; +import refactoring_guru.behavior.state.example.ui.Player; /** * EN: Concrete states provide the special implementation for all interface diff --git a/src/refactoring_guru/state/example/states/PlayingState.java b/src/refactoring_guru/behavior/state/example/states/PlayingState.java similarity index 83% rename from src/refactoring_guru/state/example/states/PlayingState.java rename to src/refactoring_guru/behavior/state/example/states/PlayingState.java index 8b42e70..cdba0e2 100644 --- a/src/refactoring_guru/state/example/states/PlayingState.java +++ b/src/refactoring_guru/behavior/state/example/states/PlayingState.java @@ -1,6 +1,6 @@ -package refactoring_guru.state.example.states; +package refactoring_guru.behavior.state.example.states; -import refactoring_guru.state.example.ui.Player; +import refactoring_guru.behavior.state.example.ui.Player; public class PlayingState extends State { diff --git a/src/refactoring_guru/state/example/states/ReadyState.java b/src/refactoring_guru/behavior/state/example/states/ReadyState.java similarity index 87% rename from src/refactoring_guru/state/example/states/ReadyState.java rename to src/refactoring_guru/behavior/state/example/states/ReadyState.java index c27e138..aae8c94 100644 --- a/src/refactoring_guru/state/example/states/ReadyState.java +++ b/src/refactoring_guru/behavior/state/example/states/ReadyState.java @@ -1,6 +1,6 @@ -package refactoring_guru.state.example.states; +package refactoring_guru.behavior.state.example.states; -import refactoring_guru.state.example.ui.Player; +import refactoring_guru.behavior.state.example.ui.Player; /** * EN: They can also trigger state transitions in the context. diff --git a/src/refactoring_guru/state/example/states/State.java b/src/refactoring_guru/behavior/state/example/states/State.java similarity index 87% rename from src/refactoring_guru/state/example/states/State.java rename to src/refactoring_guru/behavior/state/example/states/State.java index 8263cf9..79f16e1 100644 --- a/src/refactoring_guru/state/example/states/State.java +++ b/src/refactoring_guru/behavior/state/example/states/State.java @@ -1,6 +1,6 @@ -package refactoring_guru.state.example.states; +package refactoring_guru.behavior.state.example.states; -import refactoring_guru.state.example.ui.Player; +import refactoring_guru.behavior.state.example.ui.Player; /** * EN: Common interface for all states. diff --git a/src/refactoring_guru/state/example/ui/Player.java b/src/refactoring_guru/behavior/state/example/ui/Player.java similarity index 87% rename from src/refactoring_guru/state/example/ui/Player.java rename to src/refactoring_guru/behavior/state/example/ui/Player.java index c8b7cb7..bf1abe9 100644 --- a/src/refactoring_guru/state/example/ui/Player.java +++ b/src/refactoring_guru/behavior/state/example/ui/Player.java @@ -1,7 +1,7 @@ -package refactoring_guru.state.example.ui; +package refactoring_guru.behavior.state.example.ui; -import refactoring_guru.state.example.states.ReadyState; -import refactoring_guru.state.example.states.State; +import refactoring_guru.behavior.state.example.states.ReadyState; +import refactoring_guru.behavior.state.example.states.State; import java.util.ArrayList; import java.util.List; diff --git a/src/refactoring_guru/state/example/ui/UI.java b/src/refactoring_guru/behavior/state/example/ui/UI.java similarity index 97% rename from src/refactoring_guru/state/example/ui/UI.java rename to src/refactoring_guru/behavior/state/example/ui/UI.java index 9f66146..31b0716 100644 --- a/src/refactoring_guru/state/example/ui/UI.java +++ b/src/refactoring_guru/behavior/state/example/ui/UI.java @@ -1,4 +1,4 @@ -package refactoring_guru.state.example.ui; +package refactoring_guru.behavior.state.example.ui; import javax.swing.*; import java.awt.*; diff --git a/src/refactoring_guru/strategy/example/Demo.java b/src/refactoring_guru/behavior/strategy/example/Demo.java similarity index 91% rename from src/refactoring_guru/strategy/example/Demo.java rename to src/refactoring_guru/behavior/strategy/example/Demo.java index 5182c15..f110f66 100644 --- a/src/refactoring_guru/strategy/example/Demo.java +++ b/src/refactoring_guru/behavior/strategy/example/Demo.java @@ -1,9 +1,9 @@ -package refactoring_guru.strategy.example; +package refactoring_guru.behavior.strategy.example; -import refactoring_guru.strategy.example.order.Order; -import refactoring_guru.strategy.example.strategies.PayByCreditCard; -import refactoring_guru.strategy.example.strategies.PayByPayPal; -import refactoring_guru.strategy.example.strategies.PayStrategy; +import refactoring_guru.behavior.strategy.example.order.Order; +import refactoring_guru.behavior.strategy.example.strategies.PayByCreditCard; +import refactoring_guru.behavior.strategy.example.strategies.PayByPayPal; +import refactoring_guru.behavior.strategy.example.strategies.PayStrategy; import java.io.BufferedReader; import java.io.IOException; diff --git a/src/refactoring_guru/strategy/example/OutputDemo.txt b/src/refactoring_guru/behavior/strategy/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/strategy/example/OutputDemo.txt rename to src/refactoring_guru/behavior/strategy/example/OutputDemo.txt diff --git a/src/refactoring_guru/strategy/example/order/Order.java b/src/refactoring_guru/behavior/strategy/example/order/Order.java similarity index 90% rename from src/refactoring_guru/strategy/example/order/Order.java rename to src/refactoring_guru/behavior/strategy/example/order/Order.java index f8695c7..04287a4 100644 --- a/src/refactoring_guru/strategy/example/order/Order.java +++ b/src/refactoring_guru/behavior/strategy/example/order/Order.java @@ -1,6 +1,6 @@ -package refactoring_guru.strategy.example.order; +package refactoring_guru.behavior.strategy.example.order; -import refactoring_guru.strategy.example.strategies.PayStrategy; +import refactoring_guru.behavior.strategy.example.strategies.PayStrategy; /** * EN: Order class. Doesn't know the concrete payment method (strategy) user has diff --git a/src/refactoring_guru/strategy/example/strategies/CreditCard.java b/src/refactoring_guru/behavior/strategy/example/strategies/CreditCard.java similarity index 90% rename from src/refactoring_guru/strategy/example/strategies/CreditCard.java rename to src/refactoring_guru/behavior/strategy/example/strategies/CreditCard.java index 20a09d5..44e1af9 100644 --- a/src/refactoring_guru/strategy/example/strategies/CreditCard.java +++ b/src/refactoring_guru/behavior/strategy/example/strategies/CreditCard.java @@ -1,4 +1,4 @@ -package refactoring_guru.strategy.example.strategies; +package refactoring_guru.behavior.strategy.example.strategies; /** * EN: Dummy credit card class. diff --git a/src/refactoring_guru/strategy/example/strategies/PayByCreditCard.java b/src/refactoring_guru/behavior/strategy/example/strategies/PayByCreditCard.java similarity index 96% rename from src/refactoring_guru/strategy/example/strategies/PayByCreditCard.java rename to src/refactoring_guru/behavior/strategy/example/strategies/PayByCreditCard.java index 8deea76..d57bb83 100644 --- a/src/refactoring_guru/strategy/example/strategies/PayByCreditCard.java +++ b/src/refactoring_guru/behavior/strategy/example/strategies/PayByCreditCard.java @@ -1,4 +1,4 @@ -package refactoring_guru.strategy.example.strategies; +package refactoring_guru.behavior.strategy.example.strategies; import java.io.BufferedReader; import java.io.IOException; diff --git a/src/refactoring_guru/strategy/example/strategies/PayByPayPal.java b/src/refactoring_guru/behavior/strategy/example/strategies/PayByPayPal.java similarity index 97% rename from src/refactoring_guru/strategy/example/strategies/PayByPayPal.java rename to src/refactoring_guru/behavior/strategy/example/strategies/PayByPayPal.java index fe6b963..54d41b5 100644 --- a/src/refactoring_guru/strategy/example/strategies/PayByPayPal.java +++ b/src/refactoring_guru/behavior/strategy/example/strategies/PayByPayPal.java @@ -1,4 +1,4 @@ -package refactoring_guru.strategy.example.strategies; +package refactoring_guru.behavior.strategy.example.strategies; import java.io.BufferedReader; import java.io.IOException; diff --git a/src/refactoring_guru/strategy/example/strategies/PayStrategy.java b/src/refactoring_guru/behavior/strategy/example/strategies/PayStrategy.java similarity index 78% rename from src/refactoring_guru/strategy/example/strategies/PayStrategy.java rename to src/refactoring_guru/behavior/strategy/example/strategies/PayStrategy.java index 45a20c9..0590d23 100644 --- a/src/refactoring_guru/strategy/example/strategies/PayStrategy.java +++ b/src/refactoring_guru/behavior/strategy/example/strategies/PayStrategy.java @@ -1,4 +1,4 @@ -package refactoring_guru.strategy.example.strategies; +package refactoring_guru.behavior.strategy.example.strategies; /** * EN: Common interface for all strategies. diff --git a/src/refactoring_guru/template_method/example/Demo.java b/src/refactoring_guru/behavior/template_method/example/Demo.java similarity index 83% rename from src/refactoring_guru/template_method/example/Demo.java rename to src/refactoring_guru/behavior/template_method/example/Demo.java index dd2735c..9541b75 100644 --- a/src/refactoring_guru/template_method/example/Demo.java +++ b/src/refactoring_guru/behavior/template_method/example/Demo.java @@ -1,8 +1,8 @@ -package refactoring_guru.template_method.example; +package refactoring_guru.behavior.template_method.example; -import refactoring_guru.template_method.example.networks.Facebook; -import refactoring_guru.template_method.example.networks.Network; -import refactoring_guru.template_method.example.networks.Twitter; +import refactoring_guru.behavior.template_method.example.networks.Facebook; +import refactoring_guru.behavior.template_method.example.networks.Network; +import refactoring_guru.behavior.template_method.example.networks.Twitter; import java.io.BufferedReader; import java.io.IOException; diff --git a/src/refactoring_guru/template_method/example/OutputDemo.txt b/src/refactoring_guru/behavior/template_method/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/template_method/example/OutputDemo.txt rename to src/refactoring_guru/behavior/template_method/example/OutputDemo.txt diff --git a/src/refactoring_guru/template_method/example/networks/Facebook.java b/src/refactoring_guru/behavior/template_method/example/networks/Facebook.java similarity index 95% rename from src/refactoring_guru/template_method/example/networks/Facebook.java rename to src/refactoring_guru/behavior/template_method/example/networks/Facebook.java index 740b59e..4d49cb5 100644 --- a/src/refactoring_guru/template_method/example/networks/Facebook.java +++ b/src/refactoring_guru/behavior/template_method/example/networks/Facebook.java @@ -1,4 +1,4 @@ -package refactoring_guru.template_method.example.networks; +package refactoring_guru.behavior.template_method.example.networks; /** * EN: Class of social network diff --git a/src/refactoring_guru/template_method/example/networks/Network.java b/src/refactoring_guru/behavior/template_method/example/networks/Network.java similarity index 94% rename from src/refactoring_guru/template_method/example/networks/Network.java rename to src/refactoring_guru/behavior/template_method/example/networks/Network.java index 1d85461..4983971 100644 --- a/src/refactoring_guru/template_method/example/networks/Network.java +++ b/src/refactoring_guru/behavior/template_method/example/networks/Network.java @@ -1,4 +1,4 @@ -package refactoring_guru.template_method.example.networks; +package refactoring_guru.behavior.template_method.example.networks; /** * EN: Base class of social network. diff --git a/src/refactoring_guru/template_method/example/networks/Twitter.java b/src/refactoring_guru/behavior/template_method/example/networks/Twitter.java similarity index 95% rename from src/refactoring_guru/template_method/example/networks/Twitter.java rename to src/refactoring_guru/behavior/template_method/example/networks/Twitter.java index d5eae2a..03cf52f 100644 --- a/src/refactoring_guru/template_method/example/networks/Twitter.java +++ b/src/refactoring_guru/behavior/template_method/example/networks/Twitter.java @@ -1,4 +1,4 @@ -package refactoring_guru.template_method.example.networks; +package refactoring_guru.behavior.template_method.example.networks; /** * EN: Class of social network diff --git a/src/refactoring_guru/visitor/example/Demo.java b/src/refactoring_guru/behavior/visitor/example/Demo.java similarity index 79% rename from src/refactoring_guru/visitor/example/Demo.java rename to src/refactoring_guru/behavior/visitor/example/Demo.java index 7effa76..c73ecdb 100644 --- a/src/refactoring_guru/visitor/example/Demo.java +++ b/src/refactoring_guru/behavior/visitor/example/Demo.java @@ -1,7 +1,7 @@ -package refactoring_guru.visitor.example; +package refactoring_guru.behavior.visitor.example; -import refactoring_guru.visitor.example.shapes.*; -import refactoring_guru.visitor.example.visitor.XMLExportVisitor; +import refactoring_guru.behavior.visitor.example.shapes.*; +import refactoring_guru.behavior.visitor.example.visitor.XMLExportVisitor; public class Demo { public static void main(String[] args) { diff --git a/src/refactoring_guru/visitor/example/OutputDemo.txt b/src/refactoring_guru/behavior/visitor/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/visitor/example/OutputDemo.txt rename to src/refactoring_guru/behavior/visitor/example/OutputDemo.txt diff --git a/src/refactoring_guru/visitor/example/shapes/Circle.java b/src/refactoring_guru/behavior/visitor/example/shapes/Circle.java similarity index 73% rename from src/refactoring_guru/visitor/example/shapes/Circle.java rename to src/refactoring_guru/behavior/visitor/example/shapes/Circle.java index 908a388..3697e86 100644 --- a/src/refactoring_guru/visitor/example/shapes/Circle.java +++ b/src/refactoring_guru/behavior/visitor/example/shapes/Circle.java @@ -1,6 +1,6 @@ -package refactoring_guru.visitor.example.shapes; +package refactoring_guru.behavior.visitor.example.shapes; -import refactoring_guru.visitor.example.visitor.Visitor; +import refactoring_guru.behavior.visitor.example.visitor.Visitor; public class Circle extends Dot { private int radius; diff --git a/src/refactoring_guru/visitor/example/shapes/CompoundShape.java b/src/refactoring_guru/behavior/visitor/example/shapes/CompoundShape.java similarity index 83% rename from src/refactoring_guru/visitor/example/shapes/CompoundShape.java rename to src/refactoring_guru/behavior/visitor/example/shapes/CompoundShape.java index bd8b32b..1ec6e3b 100644 --- a/src/refactoring_guru/visitor/example/shapes/CompoundShape.java +++ b/src/refactoring_guru/behavior/visitor/example/shapes/CompoundShape.java @@ -1,6 +1,6 @@ -package refactoring_guru.visitor.example.shapes; +package refactoring_guru.behavior.visitor.example.shapes; -import refactoring_guru.visitor.example.visitor.Visitor; +import refactoring_guru.behavior.visitor.example.visitor.Visitor; import java.util.ArrayList; import java.util.List; diff --git a/src/refactoring_guru/visitor/example/shapes/Dot.java b/src/refactoring_guru/behavior/visitor/example/shapes/Dot.java similarity index 83% rename from src/refactoring_guru/visitor/example/shapes/Dot.java rename to src/refactoring_guru/behavior/visitor/example/shapes/Dot.java index 5e37a85..d04fe2a 100644 --- a/src/refactoring_guru/visitor/example/shapes/Dot.java +++ b/src/refactoring_guru/behavior/visitor/example/shapes/Dot.java @@ -1,6 +1,6 @@ -package refactoring_guru.visitor.example.shapes; +package refactoring_guru.behavior.visitor.example.shapes; -import refactoring_guru.visitor.example.visitor.Visitor; +import refactoring_guru.behavior.visitor.example.visitor.Visitor; public class Dot implements Shape { private int id; diff --git a/src/refactoring_guru/visitor/example/shapes/Rectangle.java b/src/refactoring_guru/behavior/visitor/example/shapes/Rectangle.java similarity index 87% rename from src/refactoring_guru/visitor/example/shapes/Rectangle.java rename to src/refactoring_guru/behavior/visitor/example/shapes/Rectangle.java index d439065..b0237f5 100644 --- a/src/refactoring_guru/visitor/example/shapes/Rectangle.java +++ b/src/refactoring_guru/behavior/visitor/example/shapes/Rectangle.java @@ -1,6 +1,6 @@ -package refactoring_guru.visitor.example.shapes; +package refactoring_guru.behavior.visitor.example.shapes; -import refactoring_guru.visitor.example.visitor.Visitor; +import refactoring_guru.behavior.visitor.example.visitor.Visitor; public class Rectangle implements Shape { private int id; diff --git a/src/refactoring_guru/behavior/visitor/example/shapes/Shape.java b/src/refactoring_guru/behavior/visitor/example/shapes/Shape.java new file mode 100644 index 0000000..946a1b7 --- /dev/null +++ b/src/refactoring_guru/behavior/visitor/example/shapes/Shape.java @@ -0,0 +1,9 @@ +package refactoring_guru.behavior.visitor.example.shapes; + +import refactoring_guru.behavior.visitor.example.visitor.Visitor; + +public interface Shape { + void move(int x, int y); + void draw(); + String accept(Visitor visitor); +} diff --git a/src/refactoring_guru/behavior/visitor/example/visitor/Visitor.java b/src/refactoring_guru/behavior/visitor/example/visitor/Visitor.java new file mode 100644 index 0000000..1088c83 --- /dev/null +++ b/src/refactoring_guru/behavior/visitor/example/visitor/Visitor.java @@ -0,0 +1,16 @@ +package refactoring_guru.behavior.visitor.example.visitor; + +import refactoring_guru.behavior.visitor.example.shapes.Circle; +import refactoring_guru.behavior.visitor.example.shapes.CompoundShape; +import refactoring_guru.behavior.visitor.example.shapes.Dot; +import refactoring_guru.behavior.visitor.example.shapes.Rectangle; + +public interface Visitor { + String visitDot(Dot dot); + + String visitCircle(Circle circle); + + String visitRectangle(Rectangle rectangle); + + String visitCompoundGraphic(CompoundShape cg); +} diff --git a/src/refactoring_guru/visitor/example/visitor/XMLExportVisitor.java b/src/refactoring_guru/behavior/visitor/example/visitor/XMLExportVisitor.java similarity index 94% rename from src/refactoring_guru/visitor/example/visitor/XMLExportVisitor.java rename to src/refactoring_guru/behavior/visitor/example/visitor/XMLExportVisitor.java index a1e41e8..e2dee08 100644 --- a/src/refactoring_guru/visitor/example/visitor/XMLExportVisitor.java +++ b/src/refactoring_guru/behavior/visitor/example/visitor/XMLExportVisitor.java @@ -1,6 +1,6 @@ -package refactoring_guru.visitor.example.visitor; +package refactoring_guru.behavior.visitor.example.visitor; -import refactoring_guru.visitor.example.shapes.*; +import refactoring_guru.behavior.visitor.example.shapes.*; public class XMLExportVisitor implements Visitor { diff --git a/src/refactoring_guru/builder/example/cars/CarType.java b/src/refactoring_guru/builder/example/cars/CarType.java deleted file mode 100644 index 2f8ee89..0000000 --- a/src/refactoring_guru/builder/example/cars/CarType.java +++ /dev/null @@ -1,5 +0,0 @@ -package refactoring_guru.builder.example.cars; - -public enum CarType { - CITY_CAR, SPORTS_CAR, SUV -} diff --git a/src/refactoring_guru/abstract_factory/example/Demo.java b/src/refactoring_guru/construct/abstract_factory/example/Demo.java similarity index 74% rename from src/refactoring_guru/abstract_factory/example/Demo.java rename to src/refactoring_guru/construct/abstract_factory/example/Demo.java index b3587da..282b3c2 100644 --- a/src/refactoring_guru/abstract_factory/example/Demo.java +++ b/src/refactoring_guru/construct/abstract_factory/example/Demo.java @@ -1,9 +1,9 @@ -package refactoring_guru.abstract_factory.example; +package refactoring_guru.construct.abstract_factory.example; -import refactoring_guru.abstract_factory.example.app.Application; -import refactoring_guru.abstract_factory.example.factories.GUIFactory; -import refactoring_guru.abstract_factory.example.factories.MacOSFactory; -import refactoring_guru.abstract_factory.example.factories.WindowsFactory; +import refactoring_guru.construct.abstract_factory.example.app.Application; +import refactoring_guru.construct.abstract_factory.example.factories.GUIFactory; +import refactoring_guru.construct.abstract_factory.example.factories.MacOSFactory; +import refactoring_guru.construct.abstract_factory.example.factories.WindowsFactory; /** * EN: Demo class. Everything comes together here. diff --git a/src/refactoring_guru/abstract_factory/example/OutputDemo.txt b/src/refactoring_guru/construct/abstract_factory/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/abstract_factory/example/OutputDemo.txt rename to src/refactoring_guru/construct/abstract_factory/example/OutputDemo.txt diff --git a/src/refactoring_guru/abstract_factory/example/app/Application.java b/src/refactoring_guru/construct/abstract_factory/example/app/Application.java similarity index 71% rename from src/refactoring_guru/abstract_factory/example/app/Application.java rename to src/refactoring_guru/construct/abstract_factory/example/app/Application.java index 06db4e9..de96e2d 100644 --- a/src/refactoring_guru/abstract_factory/example/app/Application.java +++ b/src/refactoring_guru/construct/abstract_factory/example/app/Application.java @@ -1,8 +1,8 @@ -package refactoring_guru.abstract_factory.example.app; +package refactoring_guru.construct.abstract_factory.example.app; -import refactoring_guru.abstract_factory.example.buttons.Button; -import refactoring_guru.abstract_factory.example.checkboxes.Checkbox; -import refactoring_guru.abstract_factory.example.factories.GUIFactory; +import refactoring_guru.construct.abstract_factory.example.buttons.Button; +import refactoring_guru.construct.abstract_factory.example.checkboxes.Checkbox; +import refactoring_guru.construct.abstract_factory.example.factories.GUIFactory; /** * EN: Factory users don't care which concrete factory they use since they work diff --git a/src/refactoring_guru/abstract_factory/example/buttons/Button.java b/src/refactoring_guru/construct/abstract_factory/example/buttons/Button.java similarity index 91% rename from src/refactoring_guru/abstract_factory/example/buttons/Button.java rename to src/refactoring_guru/construct/abstract_factory/example/buttons/Button.java index ce81a4f..5d4df69 100644 --- a/src/refactoring_guru/abstract_factory/example/buttons/Button.java +++ b/src/refactoring_guru/construct/abstract_factory/example/buttons/Button.java @@ -1,4 +1,4 @@ -package refactoring_guru.abstract_factory.example.buttons; +package refactoring_guru.construct.abstract_factory.example.buttons; /** * EN: Abstract Factory assumes that you have several families of products, diff --git a/src/refactoring_guru/abstract_factory/example/buttons/MacOSButton.java b/src/refactoring_guru/construct/abstract_factory/example/buttons/MacOSButton.java similarity index 86% rename from src/refactoring_guru/abstract_factory/example/buttons/MacOSButton.java rename to src/refactoring_guru/construct/abstract_factory/example/buttons/MacOSButton.java index 23734f4..39ea1f0 100644 --- a/src/refactoring_guru/abstract_factory/example/buttons/MacOSButton.java +++ b/src/refactoring_guru/construct/abstract_factory/example/buttons/MacOSButton.java @@ -1,4 +1,4 @@ -package refactoring_guru.abstract_factory.example.buttons; +package refactoring_guru.construct.abstract_factory.example.buttons; /** * EN: All products families have the same varieties (MacOS/Windows). diff --git a/src/refactoring_guru/abstract_factory/example/buttons/WindowsButton.java b/src/refactoring_guru/construct/abstract_factory/example/buttons/WindowsButton.java similarity index 86% rename from src/refactoring_guru/abstract_factory/example/buttons/WindowsButton.java rename to src/refactoring_guru/construct/abstract_factory/example/buttons/WindowsButton.java index 00a8990..9d98dc6 100644 --- a/src/refactoring_guru/abstract_factory/example/buttons/WindowsButton.java +++ b/src/refactoring_guru/construct/abstract_factory/example/buttons/WindowsButton.java @@ -1,4 +1,4 @@ -package refactoring_guru.abstract_factory.example.buttons; +package refactoring_guru.construct.abstract_factory.example.buttons; /** * EN: All products families have the same varieties (MacOS/Windows). diff --git a/src/refactoring_guru/abstract_factory/example/checkboxes/Checkbox.java b/src/refactoring_guru/construct/abstract_factory/example/checkboxes/Checkbox.java similarity index 81% rename from src/refactoring_guru/abstract_factory/example/checkboxes/Checkbox.java rename to src/refactoring_guru/construct/abstract_factory/example/checkboxes/Checkbox.java index df6853a..9a05444 100644 --- a/src/refactoring_guru/abstract_factory/example/checkboxes/Checkbox.java +++ b/src/refactoring_guru/construct/abstract_factory/example/checkboxes/Checkbox.java @@ -1,4 +1,4 @@ -package refactoring_guru.abstract_factory.example.checkboxes; +package refactoring_guru.construct.abstract_factory.example.checkboxes; /** * EN: Checkboxes is the second product family. It has the same variants as diff --git a/src/refactoring_guru/abstract_factory/example/checkboxes/MacOSCheckbox.java b/src/refactoring_guru/construct/abstract_factory/example/checkboxes/MacOSCheckbox.java similarity index 86% rename from src/refactoring_guru/abstract_factory/example/checkboxes/MacOSCheckbox.java rename to src/refactoring_guru/construct/abstract_factory/example/checkboxes/MacOSCheckbox.java index 22d5445..813d7ca 100644 --- a/src/refactoring_guru/abstract_factory/example/checkboxes/MacOSCheckbox.java +++ b/src/refactoring_guru/construct/abstract_factory/example/checkboxes/MacOSCheckbox.java @@ -1,4 +1,4 @@ -package refactoring_guru.abstract_factory.example.checkboxes; +package refactoring_guru.construct.abstract_factory.example.checkboxes; /** * EN: All products families have the same varieties (MacOS/Windows). diff --git a/src/refactoring_guru/abstract_factory/example/checkboxes/WindowsCheckbox.java b/src/refactoring_guru/construct/abstract_factory/example/checkboxes/WindowsCheckbox.java similarity index 86% rename from src/refactoring_guru/abstract_factory/example/checkboxes/WindowsCheckbox.java rename to src/refactoring_guru/construct/abstract_factory/example/checkboxes/WindowsCheckbox.java index e5387b4..fef5b12 100644 --- a/src/refactoring_guru/abstract_factory/example/checkboxes/WindowsCheckbox.java +++ b/src/refactoring_guru/construct/abstract_factory/example/checkboxes/WindowsCheckbox.java @@ -1,4 +1,4 @@ -package refactoring_guru.abstract_factory.example.checkboxes; +package refactoring_guru.construct.abstract_factory.example.checkboxes; /** * EN: All products families have the same varieties (MacOS/Windows). diff --git a/src/refactoring_guru/abstract_factory/example/factories/GUIFactory.java b/src/refactoring_guru/construct/abstract_factory/example/factories/GUIFactory.java similarity index 56% rename from src/refactoring_guru/abstract_factory/example/factories/GUIFactory.java rename to src/refactoring_guru/construct/abstract_factory/example/factories/GUIFactory.java index 80708ef..6f4749c 100644 --- a/src/refactoring_guru/abstract_factory/example/factories/GUIFactory.java +++ b/src/refactoring_guru/construct/abstract_factory/example/factories/GUIFactory.java @@ -1,7 +1,7 @@ -package refactoring_guru.abstract_factory.example.factories; +package refactoring_guru.construct.abstract_factory.example.factories; -import refactoring_guru.abstract_factory.example.buttons.Button; -import refactoring_guru.abstract_factory.example.checkboxes.Checkbox; +import refactoring_guru.construct.abstract_factory.example.buttons.Button; +import refactoring_guru.construct.abstract_factory.example.checkboxes.Checkbox; /** * EN: Abstract factory knows about all (abstract) product types. diff --git a/src/refactoring_guru/abstract_factory/example/factories/MacOSFactory.java b/src/refactoring_guru/construct/abstract_factory/example/factories/MacOSFactory.java similarity index 56% rename from src/refactoring_guru/abstract_factory/example/factories/MacOSFactory.java rename to src/refactoring_guru/construct/abstract_factory/example/factories/MacOSFactory.java index 2b957ec..cafca3e 100644 --- a/src/refactoring_guru/abstract_factory/example/factories/MacOSFactory.java +++ b/src/refactoring_guru/construct/abstract_factory/example/factories/MacOSFactory.java @@ -1,9 +1,9 @@ -package refactoring_guru.abstract_factory.example.factories; +package refactoring_guru.construct.abstract_factory.example.factories; -import refactoring_guru.abstract_factory.example.buttons.Button; -import refactoring_guru.abstract_factory.example.buttons.MacOSButton; -import refactoring_guru.abstract_factory.example.checkboxes.Checkbox; -import refactoring_guru.abstract_factory.example.checkboxes.MacOSCheckbox; +import refactoring_guru.construct.abstract_factory.example.buttons.Button; +import refactoring_guru.construct.abstract_factory.example.buttons.MacOSButton; +import refactoring_guru.construct.abstract_factory.example.checkboxes.Checkbox; +import refactoring_guru.construct.abstract_factory.example.checkboxes.MacOSCheckbox; /** * EN: Each concrete factory extends basic factory and responsible for creating diff --git a/src/refactoring_guru/abstract_factory/example/factories/WindowsFactory.java b/src/refactoring_guru/construct/abstract_factory/example/factories/WindowsFactory.java similarity index 56% rename from src/refactoring_guru/abstract_factory/example/factories/WindowsFactory.java rename to src/refactoring_guru/construct/abstract_factory/example/factories/WindowsFactory.java index d3475b3..513e26e 100644 --- a/src/refactoring_guru/abstract_factory/example/factories/WindowsFactory.java +++ b/src/refactoring_guru/construct/abstract_factory/example/factories/WindowsFactory.java @@ -1,9 +1,9 @@ -package refactoring_guru.abstract_factory.example.factories; +package refactoring_guru.construct.abstract_factory.example.factories; -import refactoring_guru.abstract_factory.example.buttons.Button; -import refactoring_guru.abstract_factory.example.buttons.WindowsButton; -import refactoring_guru.abstract_factory.example.checkboxes.Checkbox; -import refactoring_guru.abstract_factory.example.checkboxes.WindowsCheckbox; +import refactoring_guru.construct.abstract_factory.example.buttons.Button; +import refactoring_guru.construct.abstract_factory.example.buttons.WindowsButton; +import refactoring_guru.construct.abstract_factory.example.checkboxes.Checkbox; +import refactoring_guru.construct.abstract_factory.example.checkboxes.WindowsCheckbox; /** * EN: Each concrete factory extends basic factory and responsible for creating diff --git a/src/refactoring_guru/builder/example/Demo.java b/src/refactoring_guru/construct/builder/example/Demo.java similarity index 82% rename from src/refactoring_guru/builder/example/Demo.java rename to src/refactoring_guru/construct/builder/example/Demo.java index 6d3f348..0e1b2a8 100644 --- a/src/refactoring_guru/builder/example/Demo.java +++ b/src/refactoring_guru/construct/builder/example/Demo.java @@ -1,10 +1,10 @@ -package refactoring_guru.builder.example; +package refactoring_guru.construct.builder.example; -import refactoring_guru.builder.example.builders.CarBuilder; -import refactoring_guru.builder.example.builders.CarManualBuilder; -import refactoring_guru.builder.example.cars.Car; -import refactoring_guru.builder.example.cars.Manual; -import refactoring_guru.builder.example.director.Director; +import refactoring_guru.construct.builder.example.builders.CarBuilder; +import refactoring_guru.construct.builder.example.builders.CarManualBuilder; +import refactoring_guru.construct.builder.example.cars.Car; +import refactoring_guru.construct.builder.example.cars.Manual; +import refactoring_guru.construct.builder.example.director.Director; /** * EN: Demo class. Everything comes together here. diff --git a/src/refactoring_guru/builder/example/OutputDemo.txt b/src/refactoring_guru/construct/builder/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/builder/example/OutputDemo.txt rename to src/refactoring_guru/construct/builder/example/OutputDemo.txt diff --git a/src/refactoring_guru/builder/example/builders/Builder.java b/src/refactoring_guru/construct/builder/example/builders/Builder.java similarity index 56% rename from src/refactoring_guru/builder/example/builders/Builder.java rename to src/refactoring_guru/construct/builder/example/builders/Builder.java index f81dd60..5e64b0c 100644 --- a/src/refactoring_guru/builder/example/builders/Builder.java +++ b/src/refactoring_guru/construct/builder/example/builders/Builder.java @@ -1,10 +1,10 @@ -package refactoring_guru.builder.example.builders; +package refactoring_guru.construct.builder.example.builders; -import refactoring_guru.builder.example.cars.CarType; -import refactoring_guru.builder.example.components.Engine; -import refactoring_guru.builder.example.components.GPSNavigator; -import refactoring_guru.builder.example.components.Transmission; -import refactoring_guru.builder.example.components.TripComputer; +import refactoring_guru.construct.builder.example.cars.CarType; +import refactoring_guru.construct.builder.example.components.Engine; +import refactoring_guru.construct.builder.example.components.GPSNavigator; +import refactoring_guru.construct.builder.example.components.Transmission; +import refactoring_guru.construct.builder.example.components.TripComputer; /** * EN: Builder interface defines all possible ways to configure a product. diff --git a/src/refactoring_guru/builder/example/builders/CarBuilder.java b/src/refactoring_guru/construct/builder/example/builders/CarBuilder.java similarity index 71% rename from src/refactoring_guru/builder/example/builders/CarBuilder.java rename to src/refactoring_guru/construct/builder/example/builders/CarBuilder.java index 2f618f3..a145b00 100644 --- a/src/refactoring_guru/builder/example/builders/CarBuilder.java +++ b/src/refactoring_guru/construct/builder/example/builders/CarBuilder.java @@ -1,11 +1,11 @@ -package refactoring_guru.builder.example.builders; - -import refactoring_guru.builder.example.cars.Car; -import refactoring_guru.builder.example.cars.CarType; -import refactoring_guru.builder.example.components.Engine; -import refactoring_guru.builder.example.components.GPSNavigator; -import refactoring_guru.builder.example.components.Transmission; -import refactoring_guru.builder.example.components.TripComputer; +package refactoring_guru.construct.builder.example.builders; + +import refactoring_guru.construct.builder.example.cars.Car; +import refactoring_guru.construct.builder.example.cars.CarType; +import refactoring_guru.construct.builder.example.components.Engine; +import refactoring_guru.construct.builder.example.components.GPSNavigator; +import refactoring_guru.construct.builder.example.components.Transmission; +import refactoring_guru.construct.builder.example.components.TripComputer; /** * EN: Concrete builders implement steps defined in the common interface. diff --git a/src/refactoring_guru/builder/example/builders/CarManualBuilder.java b/src/refactoring_guru/construct/builder/example/builders/CarManualBuilder.java similarity index 80% rename from src/refactoring_guru/builder/example/builders/CarManualBuilder.java rename to src/refactoring_guru/construct/builder/example/builders/CarManualBuilder.java index 48ad164..d7c237a 100644 --- a/src/refactoring_guru/builder/example/builders/CarManualBuilder.java +++ b/src/refactoring_guru/construct/builder/example/builders/CarManualBuilder.java @@ -1,11 +1,11 @@ -package refactoring_guru.builder.example.builders; +package refactoring_guru.construct.builder.example.builders; -import refactoring_guru.builder.example.cars.Manual; -import refactoring_guru.builder.example.cars.CarType; -import refactoring_guru.builder.example.components.Engine; -import refactoring_guru.builder.example.components.GPSNavigator; -import refactoring_guru.builder.example.components.Transmission; -import refactoring_guru.builder.example.components.TripComputer; +import refactoring_guru.construct.builder.example.cars.Manual; +import refactoring_guru.construct.builder.example.cars.CarType; +import refactoring_guru.construct.builder.example.components.Engine; +import refactoring_guru.construct.builder.example.components.GPSNavigator; +import refactoring_guru.construct.builder.example.components.Transmission; +import refactoring_guru.construct.builder.example.components.TripComputer; /** * EN: Unlike other creational patterns, Builder can construct unrelated diff --git a/src/refactoring_guru/builder/example/cars/Car.java b/src/refactoring_guru/construct/builder/example/cars/Car.java similarity index 80% rename from src/refactoring_guru/builder/example/cars/Car.java rename to src/refactoring_guru/construct/builder/example/cars/Car.java index e4b6d23..0a30ef4 100644 --- a/src/refactoring_guru/builder/example/cars/Car.java +++ b/src/refactoring_guru/construct/builder/example/cars/Car.java @@ -1,9 +1,9 @@ -package refactoring_guru.builder.example.cars; +package refactoring_guru.construct.builder.example.cars; -import refactoring_guru.builder.example.components.Engine; -import refactoring_guru.builder.example.components.GPSNavigator; -import refactoring_guru.builder.example.components.Transmission; -import refactoring_guru.builder.example.components.TripComputer; +import refactoring_guru.construct.builder.example.components.Engine; +import refactoring_guru.construct.builder.example.components.GPSNavigator; +import refactoring_guru.construct.builder.example.components.Transmission; +import refactoring_guru.construct.builder.example.components.TripComputer; /** * EN: Car is a product class. diff --git a/src/refactoring_guru/construct/builder/example/cars/CarType.java b/src/refactoring_guru/construct/builder/example/cars/CarType.java new file mode 100644 index 0000000..10c4803 --- /dev/null +++ b/src/refactoring_guru/construct/builder/example/cars/CarType.java @@ -0,0 +1,5 @@ +package refactoring_guru.construct.builder.example.cars; + +public enum CarType { + CITY_CAR, SPORTS_CAR, SUV +} diff --git a/src/refactoring_guru/builder/example/cars/Manual.java b/src/refactoring_guru/construct/builder/example/cars/Manual.java similarity index 83% rename from src/refactoring_guru/builder/example/cars/Manual.java rename to src/refactoring_guru/construct/builder/example/cars/Manual.java index 466ea8d..54216e8 100644 --- a/src/refactoring_guru/builder/example/cars/Manual.java +++ b/src/refactoring_guru/construct/builder/example/cars/Manual.java @@ -1,9 +1,9 @@ -package refactoring_guru.builder.example.cars; +package refactoring_guru.construct.builder.example.cars; -import refactoring_guru.builder.example.components.Engine; -import refactoring_guru.builder.example.components.GPSNavigator; -import refactoring_guru.builder.example.components.Transmission; -import refactoring_guru.builder.example.components.TripComputer; +import refactoring_guru.construct.builder.example.components.Engine; +import refactoring_guru.construct.builder.example.components.GPSNavigator; +import refactoring_guru.construct.builder.example.components.Transmission; +import refactoring_guru.construct.builder.example.components.TripComputer; /** * EN: Car manual is another product. Note that it does not have the same diff --git a/src/refactoring_guru/builder/example/components/Engine.java b/src/refactoring_guru/construct/builder/example/components/Engine.java similarity index 93% rename from src/refactoring_guru/builder/example/components/Engine.java rename to src/refactoring_guru/construct/builder/example/components/Engine.java index 41956cc..96790b7 100644 --- a/src/refactoring_guru/builder/example/components/Engine.java +++ b/src/refactoring_guru/construct/builder/example/components/Engine.java @@ -1,4 +1,4 @@ -package refactoring_guru.builder.example.components; +package refactoring_guru.construct.builder.example.components; /** * EN: Just another feature of a car. diff --git a/src/refactoring_guru/builder/example/components/GPSNavigator.java b/src/refactoring_guru/construct/builder/example/components/GPSNavigator.java similarity index 87% rename from src/refactoring_guru/builder/example/components/GPSNavigator.java rename to src/refactoring_guru/construct/builder/example/components/GPSNavigator.java index 68f4cc1..f21e5dc 100644 --- a/src/refactoring_guru/builder/example/components/GPSNavigator.java +++ b/src/refactoring_guru/construct/builder/example/components/GPSNavigator.java @@ -1,4 +1,4 @@ -package refactoring_guru.builder.example.components; +package refactoring_guru.construct.builder.example.components; /** * EN: Just another feature of a car. diff --git a/src/refactoring_guru/builder/example/components/Transmission.java b/src/refactoring_guru/construct/builder/example/components/Transmission.java similarity index 74% rename from src/refactoring_guru/builder/example/components/Transmission.java rename to src/refactoring_guru/construct/builder/example/components/Transmission.java index 2815235..3689630 100644 --- a/src/refactoring_guru/builder/example/components/Transmission.java +++ b/src/refactoring_guru/construct/builder/example/components/Transmission.java @@ -1,4 +1,4 @@ -package refactoring_guru.builder.example.components; +package refactoring_guru.construct.builder.example.components; /** * EN: Just another feature of a car. diff --git a/src/refactoring_guru/builder/example/components/TripComputer.java b/src/refactoring_guru/construct/builder/example/components/TripComputer.java similarity index 81% rename from src/refactoring_guru/builder/example/components/TripComputer.java rename to src/refactoring_guru/construct/builder/example/components/TripComputer.java index 5617845..1d9addd 100644 --- a/src/refactoring_guru/builder/example/components/TripComputer.java +++ b/src/refactoring_guru/construct/builder/example/components/TripComputer.java @@ -1,6 +1,6 @@ -package refactoring_guru.builder.example.components; +package refactoring_guru.construct.builder.example.components; -import refactoring_guru.builder.example.cars.Car; +import refactoring_guru.construct.builder.example.cars.Car; /** * EN: Just another feature of a car. diff --git a/src/refactoring_guru/builder/example/director/Director.java b/src/refactoring_guru/construct/builder/example/director/Director.java similarity index 76% rename from src/refactoring_guru/builder/example/director/Director.java rename to src/refactoring_guru/construct/builder/example/director/Director.java index f5f8284..2ae49e3 100644 --- a/src/refactoring_guru/builder/example/director/Director.java +++ b/src/refactoring_guru/construct/builder/example/director/Director.java @@ -1,11 +1,11 @@ -package refactoring_guru.builder.example.director; +package refactoring_guru.construct.builder.example.director; -import refactoring_guru.builder.example.builders.Builder; -import refactoring_guru.builder.example.cars.CarType; -import refactoring_guru.builder.example.components.Engine; -import refactoring_guru.builder.example.components.GPSNavigator; -import refactoring_guru.builder.example.components.Transmission; -import refactoring_guru.builder.example.components.TripComputer; +import refactoring_guru.construct.builder.example.builders.Builder; +import refactoring_guru.construct.builder.example.cars.CarType; +import refactoring_guru.construct.builder.example.components.Engine; +import refactoring_guru.construct.builder.example.components.GPSNavigator; +import refactoring_guru.construct.builder.example.components.Transmission; +import refactoring_guru.construct.builder.example.components.TripComputer; /** * EN: Director defines the order of building steps. It works with a builder diff --git a/src/refactoring_guru/factory_method/example/Demo.java b/src/refactoring_guru/construct/factory_method/example/Demo.java similarity index 83% rename from src/refactoring_guru/factory_method/example/Demo.java rename to src/refactoring_guru/construct/factory_method/example/Demo.java index dde90cf..4fd39e3 100644 --- a/src/refactoring_guru/factory_method/example/Demo.java +++ b/src/refactoring_guru/construct/factory_method/example/Demo.java @@ -1,8 +1,8 @@ -package refactoring_guru.factory_method.example; +package refactoring_guru.construct.factory_method.example; -import refactoring_guru.factory_method.example.factory.Dialog; -import refactoring_guru.factory_method.example.factory.HtmlDialog; -import refactoring_guru.factory_method.example.factory.WindowsDialog; +import refactoring_guru.construct.factory_method.example.factory.Dialog; +import refactoring_guru.construct.factory_method.example.factory.HtmlDialog; +import refactoring_guru.construct.factory_method.example.factory.WindowsDialog; /** * EN: Demo class. Everything comes together here. diff --git a/src/refactoring_guru/factory_method/example/OutputDemo.png b/src/refactoring_guru/construct/factory_method/example/OutputDemo.png similarity index 100% rename from src/refactoring_guru/factory_method/example/OutputDemo.png rename to src/refactoring_guru/construct/factory_method/example/OutputDemo.png diff --git a/src/refactoring_guru/factory_method/example/OutputDemo.txt b/src/refactoring_guru/construct/factory_method/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/factory_method/example/OutputDemo.txt rename to src/refactoring_guru/construct/factory_method/example/OutputDemo.txt diff --git a/src/refactoring_guru/factory_method/example/buttons/Button.java b/src/refactoring_guru/construct/factory_method/example/buttons/Button.java similarity index 74% rename from src/refactoring_guru/factory_method/example/buttons/Button.java rename to src/refactoring_guru/construct/factory_method/example/buttons/Button.java index 02bef0f..6a377bc 100644 --- a/src/refactoring_guru/factory_method/example/buttons/Button.java +++ b/src/refactoring_guru/construct/factory_method/example/buttons/Button.java @@ -1,4 +1,4 @@ -package refactoring_guru.factory_method.example.buttons; +package refactoring_guru.construct.factory_method.example.buttons; /** * EN: Common interface for all buttons. diff --git a/src/refactoring_guru/factory_method/example/buttons/HtmlButton.java b/src/refactoring_guru/construct/factory_method/example/buttons/HtmlButton.java similarity index 84% rename from src/refactoring_guru/factory_method/example/buttons/HtmlButton.java rename to src/refactoring_guru/construct/factory_method/example/buttons/HtmlButton.java index ee44f0b..7491345 100644 --- a/src/refactoring_guru/factory_method/example/buttons/HtmlButton.java +++ b/src/refactoring_guru/construct/factory_method/example/buttons/HtmlButton.java @@ -1,4 +1,4 @@ -package refactoring_guru.factory_method.example.buttons; +package refactoring_guru.construct.factory_method.example.buttons; /** * EN: HTML button implementation. diff --git a/src/refactoring_guru/factory_method/example/buttons/WindowsButton.java b/src/refactoring_guru/construct/factory_method/example/buttons/WindowsButton.java similarity index 95% rename from src/refactoring_guru/factory_method/example/buttons/WindowsButton.java rename to src/refactoring_guru/construct/factory_method/example/buttons/WindowsButton.java index 5ad5a03..e95d731 100644 --- a/src/refactoring_guru/factory_method/example/buttons/WindowsButton.java +++ b/src/refactoring_guru/construct/factory_method/example/buttons/WindowsButton.java @@ -1,4 +1,4 @@ -package refactoring_guru.factory_method.example.buttons; +package refactoring_guru.construct.factory_method.example.buttons; import javax.swing.*; import java.awt.*; diff --git a/src/refactoring_guru/factory_method/example/factory/Dialog.java b/src/refactoring_guru/construct/factory_method/example/factory/Dialog.java similarity index 89% rename from src/refactoring_guru/factory_method/example/factory/Dialog.java rename to src/refactoring_guru/construct/factory_method/example/factory/Dialog.java index 3e6fcc3..f7e862e 100644 --- a/src/refactoring_guru/factory_method/example/factory/Dialog.java +++ b/src/refactoring_guru/construct/factory_method/example/factory/Dialog.java @@ -1,6 +1,6 @@ -package refactoring_guru.factory_method.example.factory; +package refactoring_guru.construct.factory_method.example.factory; -import refactoring_guru.factory_method.example.buttons.Button; +import refactoring_guru.construct.factory_method.example.buttons.Button; /** * EN: Base factory class. Note that "factory" is merely a role for the class. diff --git a/src/refactoring_guru/factory_method/example/factory/HtmlDialog.java b/src/refactoring_guru/construct/factory_method/example/factory/HtmlDialog.java similarity index 50% rename from src/refactoring_guru/factory_method/example/factory/HtmlDialog.java rename to src/refactoring_guru/construct/factory_method/example/factory/HtmlDialog.java index ceaac8b..5b9b753 100644 --- a/src/refactoring_guru/factory_method/example/factory/HtmlDialog.java +++ b/src/refactoring_guru/construct/factory_method/example/factory/HtmlDialog.java @@ -1,7 +1,7 @@ -package refactoring_guru.factory_method.example.factory; +package refactoring_guru.construct.factory_method.example.factory; -import refactoring_guru.factory_method.example.buttons.Button; -import refactoring_guru.factory_method.example.buttons.HtmlButton; +import refactoring_guru.construct.factory_method.example.buttons.Button; +import refactoring_guru.construct.factory_method.example.buttons.HtmlButton; /** * EN: HTML Dialog will produce HTML buttons. diff --git a/src/refactoring_guru/factory_method/example/factory/WindowsDialog.java b/src/refactoring_guru/construct/factory_method/example/factory/WindowsDialog.java similarity index 56% rename from src/refactoring_guru/factory_method/example/factory/WindowsDialog.java rename to src/refactoring_guru/construct/factory_method/example/factory/WindowsDialog.java index 3dd8f51..9efe68d 100644 --- a/src/refactoring_guru/factory_method/example/factory/WindowsDialog.java +++ b/src/refactoring_guru/construct/factory_method/example/factory/WindowsDialog.java @@ -1,7 +1,7 @@ -package refactoring_guru.factory_method.example.factory; +package refactoring_guru.construct.factory_method.example.factory; -import refactoring_guru.factory_method.example.buttons.Button; -import refactoring_guru.factory_method.example.buttons.WindowsButton; +import refactoring_guru.construct.factory_method.example.buttons.Button; +import refactoring_guru.construct.factory_method.example.buttons.WindowsButton; /** * EN: Windows Dialog will produce Windows buttons. diff --git a/src/refactoring_guru/prototype/caching/Demo.java b/src/refactoring_guru/construct/prototype/caching/Demo.java similarity index 83% rename from src/refactoring_guru/prototype/caching/Demo.java rename to src/refactoring_guru/construct/prototype/caching/Demo.java index 5cad2ed..a2c32f2 100644 --- a/src/refactoring_guru/prototype/caching/Demo.java +++ b/src/refactoring_guru/construct/prototype/caching/Demo.java @@ -1,7 +1,7 @@ -package refactoring_guru.prototype.caching; +package refactoring_guru.construct.prototype.caching; -import refactoring_guru.prototype.caching.cache.BundledShapeCache; -import refactoring_guru.prototype.example.shapes.Shape; +import refactoring_guru.construct.prototype.caching.cache.BundledShapeCache; +import refactoring_guru.construct.prototype.example.shapes.Shape; public class Demo { public static void main(String[] args) { diff --git a/src/refactoring_guru/prototype/caching/OutputDemo.txt b/src/refactoring_guru/construct/prototype/caching/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/prototype/caching/OutputDemo.txt rename to src/refactoring_guru/construct/prototype/caching/OutputDemo.txt diff --git a/src/refactoring_guru/prototype/caching/cache/BundledShapeCache.java b/src/refactoring_guru/construct/prototype/caching/cache/BundledShapeCache.java similarity index 75% rename from src/refactoring_guru/prototype/caching/cache/BundledShapeCache.java rename to src/refactoring_guru/construct/prototype/caching/cache/BundledShapeCache.java index cd67746..ae0feee 100644 --- a/src/refactoring_guru/prototype/caching/cache/BundledShapeCache.java +++ b/src/refactoring_guru/construct/prototype/caching/cache/BundledShapeCache.java @@ -1,8 +1,8 @@ -package refactoring_guru.prototype.caching.cache; +package refactoring_guru.construct.prototype.caching.cache; -import refactoring_guru.prototype.example.shapes.Circle; -import refactoring_guru.prototype.example.shapes.Rectangle; -import refactoring_guru.prototype.example.shapes.Shape; +import refactoring_guru.construct.prototype.example.shapes.Circle; +import refactoring_guru.construct.prototype.example.shapes.Rectangle; +import refactoring_guru.construct.prototype.example.shapes.Shape; import java.util.HashMap; import java.util.Map; diff --git a/src/refactoring_guru/prototype/example/Demo.java b/src/refactoring_guru/construct/prototype/example/Demo.java similarity index 85% rename from src/refactoring_guru/prototype/example/Demo.java rename to src/refactoring_guru/construct/prototype/example/Demo.java index c02a2cd..f6bba51 100644 --- a/src/refactoring_guru/prototype/example/Demo.java +++ b/src/refactoring_guru/construct/prototype/example/Demo.java @@ -1,8 +1,8 @@ -package refactoring_guru.prototype.example; +package refactoring_guru.construct.prototype.example; -import refactoring_guru.prototype.example.shapes.Circle; -import refactoring_guru.prototype.example.shapes.Rectangle; -import refactoring_guru.prototype.example.shapes.Shape; +import refactoring_guru.construct.prototype.example.shapes.Circle; +import refactoring_guru.construct.prototype.example.shapes.Rectangle; +import refactoring_guru.construct.prototype.example.shapes.Shape; import java.util.ArrayList; import java.util.List; diff --git a/src/refactoring_guru/prototype/example/OutputDemo.txt b/src/refactoring_guru/construct/prototype/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/prototype/example/OutputDemo.txt rename to src/refactoring_guru/construct/prototype/example/OutputDemo.txt diff --git a/src/refactoring_guru/prototype/example/shapes/Circle.java b/src/refactoring_guru/construct/prototype/example/shapes/Circle.java similarity index 89% rename from src/refactoring_guru/prototype/example/shapes/Circle.java rename to src/refactoring_guru/construct/prototype/example/shapes/Circle.java index 074e178..d36cfb5 100644 --- a/src/refactoring_guru/prototype/example/shapes/Circle.java +++ b/src/refactoring_guru/construct/prototype/example/shapes/Circle.java @@ -1,4 +1,4 @@ -package refactoring_guru.prototype.example.shapes; +package refactoring_guru.construct.prototype.example.shapes; public class Circle extends Shape { public int radius; diff --git a/src/refactoring_guru/prototype/example/shapes/Rectangle.java b/src/refactoring_guru/construct/prototype/example/shapes/Rectangle.java similarity index 91% rename from src/refactoring_guru/prototype/example/shapes/Rectangle.java rename to src/refactoring_guru/construct/prototype/example/shapes/Rectangle.java index 4adbf0e..c6da41f 100644 --- a/src/refactoring_guru/prototype/example/shapes/Rectangle.java +++ b/src/refactoring_guru/construct/prototype/example/shapes/Rectangle.java @@ -1,4 +1,4 @@ -package refactoring_guru.prototype.example.shapes; +package refactoring_guru.construct.prototype.example.shapes; public class Rectangle extends Shape { public int width; diff --git a/src/refactoring_guru/prototype/example/shapes/Shape.java b/src/refactoring_guru/construct/prototype/example/shapes/Shape.java similarity index 90% rename from src/refactoring_guru/prototype/example/shapes/Shape.java rename to src/refactoring_guru/construct/prototype/example/shapes/Shape.java index 6893a3f..d85279c 100644 --- a/src/refactoring_guru/prototype/example/shapes/Shape.java +++ b/src/refactoring_guru/construct/prototype/example/shapes/Shape.java @@ -1,4 +1,4 @@ -package refactoring_guru.prototype.example.shapes; +package refactoring_guru.construct.prototype.example.shapes; import java.util.Objects; diff --git a/src/refactoring_guru/singleton/example/non_thread_safe/DemoMultiThread.java b/src/refactoring_guru/construct/singleton/example/non_thread_safe/DemoMultiThread.java similarity index 93% rename from src/refactoring_guru/singleton/example/non_thread_safe/DemoMultiThread.java rename to src/refactoring_guru/construct/singleton/example/non_thread_safe/DemoMultiThread.java index 848534b..2148f86 100644 --- a/src/refactoring_guru/singleton/example/non_thread_safe/DemoMultiThread.java +++ b/src/refactoring_guru/construct/singleton/example/non_thread_safe/DemoMultiThread.java @@ -1,4 +1,4 @@ -package refactoring_guru.singleton.example.non_thread_safe; +package refactoring_guru.construct.singleton.example.non_thread_safe; public class DemoMultiThread { public static void main(String[] args) { diff --git a/src/refactoring_guru/singleton/example/non_thread_safe/DemoSingleThread.java b/src/refactoring_guru/construct/singleton/example/non_thread_safe/DemoSingleThread.java similarity index 88% rename from src/refactoring_guru/singleton/example/non_thread_safe/DemoSingleThread.java rename to src/refactoring_guru/construct/singleton/example/non_thread_safe/DemoSingleThread.java index 6aba849..92ecc28 100644 --- a/src/refactoring_guru/singleton/example/non_thread_safe/DemoSingleThread.java +++ b/src/refactoring_guru/construct/singleton/example/non_thread_safe/DemoSingleThread.java @@ -1,4 +1,4 @@ -package refactoring_guru.singleton.example.non_thread_safe; +package refactoring_guru.construct.singleton.example.non_thread_safe; public class DemoSingleThread { public static void main(String[] args) { diff --git a/src/refactoring_guru/singleton/example/non_thread_safe/OutputDemoMultiThread.txt b/src/refactoring_guru/construct/singleton/example/non_thread_safe/OutputDemoMultiThread.txt similarity index 100% rename from src/refactoring_guru/singleton/example/non_thread_safe/OutputDemoMultiThread.txt rename to src/refactoring_guru/construct/singleton/example/non_thread_safe/OutputDemoMultiThread.txt diff --git a/src/refactoring_guru/singleton/example/non_thread_safe/OutputDemoSingleThread.txt b/src/refactoring_guru/construct/singleton/example/non_thread_safe/OutputDemoSingleThread.txt similarity index 100% rename from src/refactoring_guru/singleton/example/non_thread_safe/OutputDemoSingleThread.txt rename to src/refactoring_guru/construct/singleton/example/non_thread_safe/OutputDemoSingleThread.txt diff --git a/src/refactoring_guru/singleton/example/non_thread_safe/Singleton.java b/src/refactoring_guru/construct/singleton/example/non_thread_safe/Singleton.java similarity index 90% rename from src/refactoring_guru/singleton/example/non_thread_safe/Singleton.java rename to src/refactoring_guru/construct/singleton/example/non_thread_safe/Singleton.java index d091303..ebf513b 100644 --- a/src/refactoring_guru/singleton/example/non_thread_safe/Singleton.java +++ b/src/refactoring_guru/construct/singleton/example/non_thread_safe/Singleton.java @@ -1,4 +1,4 @@ -package refactoring_guru.singleton.example.non_thread_safe; +package refactoring_guru.construct.singleton.example.non_thread_safe; public final class Singleton { private static Singleton instance; diff --git a/src/refactoring_guru/singleton/example/thread_safe/DemoMultiThread.java b/src/refactoring_guru/construct/singleton/example/thread_safe/DemoMultiThread.java similarity index 93% rename from src/refactoring_guru/singleton/example/thread_safe/DemoMultiThread.java rename to src/refactoring_guru/construct/singleton/example/thread_safe/DemoMultiThread.java index a0fd882..50815c3 100644 --- a/src/refactoring_guru/singleton/example/thread_safe/DemoMultiThread.java +++ b/src/refactoring_guru/construct/singleton/example/thread_safe/DemoMultiThread.java @@ -1,4 +1,4 @@ -package refactoring_guru.singleton.example.thread_safe; +package refactoring_guru.construct.singleton.example.thread_safe; public class DemoMultiThread { public static void main(String[] args) { diff --git a/src/refactoring_guru/singleton/example/thread_safe/OutputDemoMultiThread.txt b/src/refactoring_guru/construct/singleton/example/thread_safe/OutputDemoMultiThread.txt similarity index 100% rename from src/refactoring_guru/singleton/example/thread_safe/OutputDemoMultiThread.txt rename to src/refactoring_guru/construct/singleton/example/thread_safe/OutputDemoMultiThread.txt diff --git a/src/refactoring_guru/singleton/example/thread_safe/Singleton.java b/src/refactoring_guru/construct/singleton/example/thread_safe/Singleton.java similarity index 89% rename from src/refactoring_guru/singleton/example/thread_safe/Singleton.java rename to src/refactoring_guru/construct/singleton/example/thread_safe/Singleton.java index 95b8365..c116feb 100644 --- a/src/refactoring_guru/singleton/example/thread_safe/Singleton.java +++ b/src/refactoring_guru/construct/singleton/example/thread_safe/Singleton.java @@ -1,4 +1,4 @@ -package refactoring_guru.singleton.example.thread_safe; +package refactoring_guru.construct.singleton.example.thread_safe; public final class Singleton { // EN: The field must be declared volatile so that double check lock would @@ -38,15 +38,17 @@ public static Singleton getInstance(String value) { // // Больше об этой проблеме можно почитать здесь: // https://refactoring.guru/ru/java-dcl-issue + // 减少 instance 被访问的次数 Singleton result = instance; if (result != null) { return result; } synchronized(Singleton.class) { - if (instance == null) { - instance = new Singleton(value); + result = instance; + if (result == null) { + instance = result = new Singleton(value); } - return instance; + return result; } } } diff --git a/src/refactoring_guru/facade/example/some_complex_media_library/Codec.java b/src/refactoring_guru/facade/example/some_complex_media_library/Codec.java deleted file mode 100644 index 77ab7d8..0000000 --- a/src/refactoring_guru/facade/example/some_complex_media_library/Codec.java +++ /dev/null @@ -1,4 +0,0 @@ -package refactoring_guru.facade.example.some_complex_media_library; - -public interface Codec { -} diff --git a/src/refactoring_guru/iterator/example/iterators/ProfileIterator.java b/src/refactoring_guru/iterator/example/iterators/ProfileIterator.java deleted file mode 100644 index f07b7be..0000000 --- a/src/refactoring_guru/iterator/example/iterators/ProfileIterator.java +++ /dev/null @@ -1,11 +0,0 @@ -package refactoring_guru.iterator.example.iterators; - -import refactoring_guru.iterator.example.profile.Profile; - -public interface ProfileIterator { - boolean hasNext(); - - Profile getNext(); - - void reset(); -} \ No newline at end of file diff --git a/src/refactoring_guru/adapter/example/Demo.java b/src/refactoring_guru/structure/adapter/example/Demo.java similarity index 79% rename from src/refactoring_guru/adapter/example/Demo.java rename to src/refactoring_guru/structure/adapter/example/Demo.java index e886891..47e7667 100644 --- a/src/refactoring_guru/adapter/example/Demo.java +++ b/src/refactoring_guru/structure/adapter/example/Demo.java @@ -1,9 +1,9 @@ -package refactoring_guru.adapter.example; +package refactoring_guru.structure.adapter.example; -import refactoring_guru.adapter.example.adapters.SquarePegAdapter; -import refactoring_guru.adapter.example.round.RoundHole; -import refactoring_guru.adapter.example.round.RoundPeg; -import refactoring_guru.adapter.example.square.SquarePeg; +import refactoring_guru.structure.adapter.example.adapters.SquarePegAdapter; +import refactoring_guru.structure.adapter.example.round.RoundHole; +import refactoring_guru.structure.adapter.example.round.RoundPeg; +import refactoring_guru.structure.adapter.example.square.SquarePeg; /** * EN: Somewhere in client code... diff --git a/src/refactoring_guru/adapter/example/OutputDemo.txt b/src/refactoring_guru/structure/adapter/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/adapter/example/OutputDemo.txt rename to src/refactoring_guru/structure/adapter/example/OutputDemo.txt diff --git a/src/refactoring_guru/adapter/example/adapters/SquarePegAdapter.java b/src/refactoring_guru/structure/adapter/example/adapters/SquarePegAdapter.java similarity index 79% rename from src/refactoring_guru/adapter/example/adapters/SquarePegAdapter.java rename to src/refactoring_guru/structure/adapter/example/adapters/SquarePegAdapter.java index 7f9dfff..5b78fb1 100644 --- a/src/refactoring_guru/adapter/example/adapters/SquarePegAdapter.java +++ b/src/refactoring_guru/structure/adapter/example/adapters/SquarePegAdapter.java @@ -1,7 +1,7 @@ -package refactoring_guru.adapter.example.adapters; +package refactoring_guru.structure.adapter.example.adapters; -import refactoring_guru.adapter.example.round.RoundPeg; -import refactoring_guru.adapter.example.square.SquarePeg; +import refactoring_guru.structure.adapter.example.round.RoundPeg; +import refactoring_guru.structure.adapter.example.square.SquarePeg; /** * EN: Adapter allows fitting square pegs into round holes. diff --git a/src/refactoring_guru/adapter/example/round/RoundHole.java b/src/refactoring_guru/structure/adapter/example/round/RoundHole.java similarity index 89% rename from src/refactoring_guru/adapter/example/round/RoundHole.java rename to src/refactoring_guru/structure/adapter/example/round/RoundHole.java index 35b2025..dbb4b35 100644 --- a/src/refactoring_guru/adapter/example/round/RoundHole.java +++ b/src/refactoring_guru/structure/adapter/example/round/RoundHole.java @@ -1,4 +1,4 @@ -package refactoring_guru.adapter.example.round; +package refactoring_guru.structure.adapter.example.round; /** * EN: RoundHoles are compatible with RoundPegs. diff --git a/src/refactoring_guru/adapter/example/round/RoundPeg.java b/src/refactoring_guru/structure/adapter/example/round/RoundPeg.java similarity index 86% rename from src/refactoring_guru/adapter/example/round/RoundPeg.java rename to src/refactoring_guru/structure/adapter/example/round/RoundPeg.java index d103827..00dedf5 100644 --- a/src/refactoring_guru/adapter/example/round/RoundPeg.java +++ b/src/refactoring_guru/structure/adapter/example/round/RoundPeg.java @@ -1,4 +1,4 @@ -package refactoring_guru.adapter.example.round; +package refactoring_guru.structure.adapter.example.round; /** * EN: RoundPegs are compatible with RoundHoles. diff --git a/src/refactoring_guru/adapter/example/square/SquarePeg.java b/src/refactoring_guru/structure/adapter/example/square/SquarePeg.java similarity index 93% rename from src/refactoring_guru/adapter/example/square/SquarePeg.java rename to src/refactoring_guru/structure/adapter/example/square/SquarePeg.java index 57221a2..daa7c27 100644 --- a/src/refactoring_guru/adapter/example/square/SquarePeg.java +++ b/src/refactoring_guru/structure/adapter/example/square/SquarePeg.java @@ -1,4 +1,4 @@ -package refactoring_guru.adapter.example.square; +package refactoring_guru.structure.adapter.example.square; /** * EN: SquarePegs are not compatible with RoundHoles (they were implemented by diff --git a/src/refactoring_guru/bridge/example/Demo.java b/src/refactoring_guru/structure/bridge/example/Demo.java similarity index 57% rename from src/refactoring_guru/bridge/example/Demo.java rename to src/refactoring_guru/structure/bridge/example/Demo.java index 6ce44d0..dad3818 100644 --- a/src/refactoring_guru/bridge/example/Demo.java +++ b/src/refactoring_guru/structure/bridge/example/Demo.java @@ -1,10 +1,10 @@ -package refactoring_guru.bridge.example; +package refactoring_guru.structure.bridge.example; -import refactoring_guru.bridge.example.devices.Device; -import refactoring_guru.bridge.example.devices.Radio; -import refactoring_guru.bridge.example.devices.Tv; -import refactoring_guru.bridge.example.remotes.AdvancedRemote; -import refactoring_guru.bridge.example.remotes.BasicRemote; +import refactoring_guru.structure.bridge.example.devices.Device; +import refactoring_guru.structure.bridge.example.devices.Radio; +import refactoring_guru.structure.bridge.example.devices.Tv; +import refactoring_guru.structure.bridge.example.remotes.AdvancedRemote; +import refactoring_guru.structure.bridge.example.remotes.BasicRemote; public class Demo { public static void main(String[] args) { @@ -13,6 +13,7 @@ public static void main(String[] args) { } public static void testDevice(Device device) { + // 遥控器和设备都有多种实现 System.out.println("Tests with basic remote."); BasicRemote basicRemote = new BasicRemote(device); basicRemote.power(); diff --git a/src/refactoring_guru/bridge/example/OutputDemo.txt b/src/refactoring_guru/structure/bridge/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/bridge/example/OutputDemo.txt rename to src/refactoring_guru/structure/bridge/example/OutputDemo.txt diff --git a/src/refactoring_guru/bridge/example/devices/Device.java b/src/refactoring_guru/structure/bridge/example/devices/Device.java similarity index 79% rename from src/refactoring_guru/bridge/example/devices/Device.java rename to src/refactoring_guru/structure/bridge/example/devices/Device.java index 1520dd3..941eb8f 100644 --- a/src/refactoring_guru/bridge/example/devices/Device.java +++ b/src/refactoring_guru/structure/bridge/example/devices/Device.java @@ -1,4 +1,4 @@ -package refactoring_guru.bridge.example.devices; +package refactoring_guru.structure.bridge.example.devices; public interface Device { boolean isEnabled(); diff --git a/src/refactoring_guru/bridge/example/devices/Radio.java b/src/refactoring_guru/structure/bridge/example/devices/Radio.java similarity index 95% rename from src/refactoring_guru/bridge/example/devices/Radio.java rename to src/refactoring_guru/structure/bridge/example/devices/Radio.java index b0b227a..34f76bd 100644 --- a/src/refactoring_guru/bridge/example/devices/Radio.java +++ b/src/refactoring_guru/structure/bridge/example/devices/Radio.java @@ -1,4 +1,4 @@ -package refactoring_guru.bridge.example.devices; +package refactoring_guru.structure.bridge.example.devices; public class Radio implements Device { private boolean on = false; diff --git a/src/refactoring_guru/bridge/example/devices/Tv.java b/src/refactoring_guru/structure/bridge/example/devices/Tv.java similarity index 95% rename from src/refactoring_guru/bridge/example/devices/Tv.java rename to src/refactoring_guru/structure/bridge/example/devices/Tv.java index b3705cd..f9ed7e2 100644 --- a/src/refactoring_guru/bridge/example/devices/Tv.java +++ b/src/refactoring_guru/structure/bridge/example/devices/Tv.java @@ -1,4 +1,4 @@ -package refactoring_guru.bridge.example.devices; +package refactoring_guru.structure.bridge.example.devices; public class Tv implements Device { private boolean on = false; diff --git a/src/refactoring_guru/bridge/example/remotes/AdvancedRemote.java b/src/refactoring_guru/structure/bridge/example/remotes/AdvancedRemote.java similarity index 65% rename from src/refactoring_guru/bridge/example/remotes/AdvancedRemote.java rename to src/refactoring_guru/structure/bridge/example/remotes/AdvancedRemote.java index 17c7155..76b2232 100644 --- a/src/refactoring_guru/bridge/example/remotes/AdvancedRemote.java +++ b/src/refactoring_guru/structure/bridge/example/remotes/AdvancedRemote.java @@ -1,6 +1,6 @@ -package refactoring_guru.bridge.example.remotes; +package refactoring_guru.structure.bridge.example.remotes; -import refactoring_guru.bridge.example.devices.Device; +import refactoring_guru.structure.bridge.example.devices.Device; public class AdvancedRemote extends BasicRemote { diff --git a/src/refactoring_guru/bridge/example/remotes/BasicRemote.java b/src/refactoring_guru/structure/bridge/example/remotes/BasicRemote.java similarity index 89% rename from src/refactoring_guru/bridge/example/remotes/BasicRemote.java rename to src/refactoring_guru/structure/bridge/example/remotes/BasicRemote.java index 5f9dcb4..50e22d7 100644 --- a/src/refactoring_guru/bridge/example/remotes/BasicRemote.java +++ b/src/refactoring_guru/structure/bridge/example/remotes/BasicRemote.java @@ -1,6 +1,6 @@ -package refactoring_guru.bridge.example.remotes; +package refactoring_guru.structure.bridge.example.remotes; -import refactoring_guru.bridge.example.devices.Device; +import refactoring_guru.structure.bridge.example.devices.Device; public class BasicRemote implements Remote { protected Device device; diff --git a/src/refactoring_guru/bridge/example/remotes/Remote.java b/src/refactoring_guru/structure/bridge/example/remotes/Remote.java similarity index 70% rename from src/refactoring_guru/bridge/example/remotes/Remote.java rename to src/refactoring_guru/structure/bridge/example/remotes/Remote.java index 0f5e78b..eb10926 100644 --- a/src/refactoring_guru/bridge/example/remotes/Remote.java +++ b/src/refactoring_guru/structure/bridge/example/remotes/Remote.java @@ -1,4 +1,4 @@ -package refactoring_guru.bridge.example.remotes; +package refactoring_guru.structure.bridge.example.remotes; public interface Remote { void power(); diff --git a/src/refactoring_guru/composite/example/Demo.java b/src/refactoring_guru/structure/composite/example/Demo.java similarity index 64% rename from src/refactoring_guru/composite/example/Demo.java rename to src/refactoring_guru/structure/composite/example/Demo.java index 0e27c73..5ec1a8f 100644 --- a/src/refactoring_guru/composite/example/Demo.java +++ b/src/refactoring_guru/structure/composite/example/Demo.java @@ -1,10 +1,10 @@ -package refactoring_guru.composite.example; +package refactoring_guru.structure.composite.example; -import refactoring_guru.composite.example.editor.ImageEditor; -import refactoring_guru.composite.example.shapes.Circle; -import refactoring_guru.composite.example.shapes.CompoundShape; -import refactoring_guru.composite.example.shapes.Dot; -import refactoring_guru.composite.example.shapes.Rectangle; +import refactoring_guru.structure.composite.example.editor.ImageEditor; +import refactoring_guru.structure.composite.example.shapes.Circle; +import refactoring_guru.structure.composite.example.shapes.CompoundShape; +import refactoring_guru.structure.composite.example.shapes.Dot; +import refactoring_guru.structure.composite.example.shapes.Rectangle; import java.awt.*; diff --git a/src/refactoring_guru/composite/example/OutputDemo.png b/src/refactoring_guru/structure/composite/example/OutputDemo.png similarity index 100% rename from src/refactoring_guru/composite/example/OutputDemo.png rename to src/refactoring_guru/structure/composite/example/OutputDemo.png diff --git a/src/refactoring_guru/composite/example/editor/ImageEditor.java b/src/refactoring_guru/structure/composite/example/editor/ImageEditor.java similarity index 90% rename from src/refactoring_guru/composite/example/editor/ImageEditor.java rename to src/refactoring_guru/structure/composite/example/editor/ImageEditor.java index dfc7277..c7e469b 100644 --- a/src/refactoring_guru/composite/example/editor/ImageEditor.java +++ b/src/refactoring_guru/structure/composite/example/editor/ImageEditor.java @@ -1,7 +1,7 @@ -package refactoring_guru.composite.example.editor; +package refactoring_guru.structure.composite.example.editor; -import refactoring_guru.composite.example.shapes.CompoundShape; -import refactoring_guru.composite.example.shapes.Shape; +import refactoring_guru.structure.composite.example.shapes.CompoundShape; +import refactoring_guru.structure.composite.example.shapes.Shape; import javax.swing.*; import javax.swing.border.Border; diff --git a/src/refactoring_guru/composite/example/shapes/BaseShape.java b/src/refactoring_guru/structure/composite/example/shapes/BaseShape.java similarity index 96% rename from src/refactoring_guru/composite/example/shapes/BaseShape.java rename to src/refactoring_guru/structure/composite/example/shapes/BaseShape.java index bd5921a..35c43c8 100644 --- a/src/refactoring_guru/composite/example/shapes/BaseShape.java +++ b/src/refactoring_guru/structure/composite/example/shapes/BaseShape.java @@ -1,4 +1,4 @@ -package refactoring_guru.composite.example.shapes; +package refactoring_guru.structure.composite.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/composite/example/shapes/Circle.java b/src/refactoring_guru/structure/composite/example/shapes/Circle.java similarity index 89% rename from src/refactoring_guru/composite/example/shapes/Circle.java rename to src/refactoring_guru/structure/composite/example/shapes/Circle.java index 98fd6db..5315458 100644 --- a/src/refactoring_guru/composite/example/shapes/Circle.java +++ b/src/refactoring_guru/structure/composite/example/shapes/Circle.java @@ -1,4 +1,4 @@ -package refactoring_guru.composite.example.shapes; +package refactoring_guru.structure.composite.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/composite/example/shapes/CompoundShape.java b/src/refactoring_guru/structure/composite/example/shapes/CompoundShape.java similarity index 96% rename from src/refactoring_guru/composite/example/shapes/CompoundShape.java rename to src/refactoring_guru/structure/composite/example/shapes/CompoundShape.java index fd84982..ac6b211 100644 --- a/src/refactoring_guru/composite/example/shapes/CompoundShape.java +++ b/src/refactoring_guru/structure/composite/example/shapes/CompoundShape.java @@ -1,4 +1,4 @@ -package refactoring_guru.composite.example.shapes; +package refactoring_guru.structure.composite.example.shapes; import java.awt.*; import java.util.ArrayList; @@ -132,7 +132,7 @@ public void paint(Graphics graphics) { disableSelectionStyle(graphics); } - for (refactoring_guru.composite.example.shapes.Shape child : children) { + for (Shape child : children) { child.paint(graphics); } } diff --git a/src/refactoring_guru/memento/example/shapes/Dot.java b/src/refactoring_guru/structure/composite/example/shapes/Dot.java similarity index 88% rename from src/refactoring_guru/memento/example/shapes/Dot.java rename to src/refactoring_guru/structure/composite/example/shapes/Dot.java index a8562e6..6b579ee 100644 --- a/src/refactoring_guru/memento/example/shapes/Dot.java +++ b/src/refactoring_guru/structure/composite/example/shapes/Dot.java @@ -1,4 +1,4 @@ -package refactoring_guru.memento.example.shapes; +package refactoring_guru.structure.composite.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/composite/example/shapes/Rectangle.java b/src/refactoring_guru/structure/composite/example/shapes/Rectangle.java similarity index 90% rename from src/refactoring_guru/composite/example/shapes/Rectangle.java rename to src/refactoring_guru/structure/composite/example/shapes/Rectangle.java index 4a2b73f..6fa6f65 100644 --- a/src/refactoring_guru/composite/example/shapes/Rectangle.java +++ b/src/refactoring_guru/structure/composite/example/shapes/Rectangle.java @@ -1,4 +1,4 @@ -package refactoring_guru.composite.example.shapes; +package refactoring_guru.structure.composite.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/composite/example/shapes/Shape.java b/src/refactoring_guru/structure/composite/example/shapes/Shape.java similarity index 82% rename from src/refactoring_guru/composite/example/shapes/Shape.java rename to src/refactoring_guru/structure/composite/example/shapes/Shape.java index 746cf83..982f69c 100644 --- a/src/refactoring_guru/composite/example/shapes/Shape.java +++ b/src/refactoring_guru/structure/composite/example/shapes/Shape.java @@ -1,4 +1,4 @@ -package refactoring_guru.composite.example.shapes; +package refactoring_guru.structure.composite.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/decorator/example/Demo.java b/src/refactoring_guru/structure/decorator/example/Demo.java similarity index 86% rename from src/refactoring_guru/decorator/example/Demo.java rename to src/refactoring_guru/structure/decorator/example/Demo.java index cb58725..7157207 100644 --- a/src/refactoring_guru/decorator/example/Demo.java +++ b/src/refactoring_guru/structure/decorator/example/Demo.java @@ -1,6 +1,6 @@ -package refactoring_guru.decorator.example; +package refactoring_guru.structure.decorator.example; -import refactoring_guru.decorator.example.decorators.*; +import refactoring_guru.structure.decorator.example.decorators.*; public class Demo { public static void main(String[] args) { diff --git a/src/refactoring_guru/decorator/example/OutputDemo.txt b/src/refactoring_guru/structure/decorator/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/decorator/example/OutputDemo.txt rename to src/refactoring_guru/structure/decorator/example/OutputDemo.txt diff --git a/src/refactoring_guru/decorator/example/decorators/CompressionDecorator.java b/src/refactoring_guru/structure/decorator/example/decorators/CompressionDecorator.java similarity index 85% rename from src/refactoring_guru/decorator/example/decorators/CompressionDecorator.java rename to src/refactoring_guru/structure/decorator/example/decorators/CompressionDecorator.java index fc63691..9417d8e 100644 --- a/src/refactoring_guru/decorator/example/decorators/CompressionDecorator.java +++ b/src/refactoring_guru/structure/decorator/example/decorators/CompressionDecorator.java @@ -1,4 +1,4 @@ -package refactoring_guru.decorator.example.decorators; +package refactoring_guru.structure.decorator.example.decorators; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -26,12 +26,17 @@ public void setCompressionLevel(int value) { @Override public void writeData(String data) { + // 先压缩,再接入 + System.out.println("compress data"); super.writeData(compress(data)); } @Override public String readData() { - return decompress(super.readData()); + // 注意和写的区别:先读出再解压 + String data = super.readData(); + System.out.println("decompress data"); + return decompress(data); } private String compress(String stringData) { diff --git a/src/refactoring_guru/decorator/example/decorators/DataSource.java b/src/refactoring_guru/structure/decorator/example/decorators/DataSource.java similarity index 58% rename from src/refactoring_guru/decorator/example/decorators/DataSource.java rename to src/refactoring_guru/structure/decorator/example/decorators/DataSource.java index b26cd07..e2fd811 100644 --- a/src/refactoring_guru/decorator/example/decorators/DataSource.java +++ b/src/refactoring_guru/structure/decorator/example/decorators/DataSource.java @@ -1,4 +1,4 @@ -package refactoring_guru.decorator.example.decorators; +package refactoring_guru.structure.decorator.example.decorators; public interface DataSource { void writeData(String data); diff --git a/src/refactoring_guru/decorator/example/decorators/DataSourceDecorator.java b/src/refactoring_guru/structure/decorator/example/decorators/DataSourceDecorator.java similarity index 84% rename from src/refactoring_guru/decorator/example/decorators/DataSourceDecorator.java rename to src/refactoring_guru/structure/decorator/example/decorators/DataSourceDecorator.java index f126d93..74249af 100644 --- a/src/refactoring_guru/decorator/example/decorators/DataSourceDecorator.java +++ b/src/refactoring_guru/structure/decorator/example/decorators/DataSourceDecorator.java @@ -1,4 +1,4 @@ -package refactoring_guru.decorator.example.decorators; +package refactoring_guru.structure.decorator.example.decorators; public class DataSourceDecorator implements DataSource { private DataSource wrappee; diff --git a/src/refactoring_guru/decorator/example/decorators/EncryptionDecorator.java b/src/refactoring_guru/structure/decorator/example/decorators/EncryptionDecorator.java similarity index 78% rename from src/refactoring_guru/decorator/example/decorators/EncryptionDecorator.java rename to src/refactoring_guru/structure/decorator/example/decorators/EncryptionDecorator.java index 2b8821c..2fec768 100644 --- a/src/refactoring_guru/decorator/example/decorators/EncryptionDecorator.java +++ b/src/refactoring_guru/structure/decorator/example/decorators/EncryptionDecorator.java @@ -1,4 +1,4 @@ -package refactoring_guru.decorator.example.decorators; +package refactoring_guru.structure.decorator.example.decorators; import java.util.Base64; @@ -10,12 +10,15 @@ public EncryptionDecorator(DataSource source) { @Override public void writeData(String data) { + System.out.println("encode data"); super.writeData(encode(data)); } @Override public String readData() { - return decode(super.readData()); + String data = super.readData(); + System.out.println("decode data"); + return decode(data); } private String encode(String data) { diff --git a/src/refactoring_guru/decorator/example/decorators/FileDataSource.java b/src/refactoring_guru/structure/decorator/example/decorators/FileDataSource.java similarity index 83% rename from src/refactoring_guru/decorator/example/decorators/FileDataSource.java rename to src/refactoring_guru/structure/decorator/example/decorators/FileDataSource.java index 8b19251..b41765c 100644 --- a/src/refactoring_guru/decorator/example/decorators/FileDataSource.java +++ b/src/refactoring_guru/structure/decorator/example/decorators/FileDataSource.java @@ -1,4 +1,4 @@ -package refactoring_guru.decorator.example.decorators; +package refactoring_guru.structure.decorator.example.decorators; import java.io.*; @@ -11,6 +11,7 @@ public FileDataSource(String name) { @Override public void writeData(String data) { + System.out.println("save to file: " + name); File file = new File(name); try (OutputStream fos = new FileOutputStream(file)) { fos.write(data.getBytes(), 0, data.length()); @@ -21,6 +22,7 @@ public void writeData(String data) { @Override public String readData() { + System.out.println("read from: " + name); char[] buffer = null; File file = new File(name); try (FileReader reader = new FileReader(file)) { diff --git a/src/refactoring_guru/facade/example/Demo.java b/src/refactoring_guru/structure/facade/example/Demo.java similarity index 66% rename from src/refactoring_guru/facade/example/Demo.java rename to src/refactoring_guru/structure/facade/example/Demo.java index eb1c8e1..06396f8 100644 --- a/src/refactoring_guru/facade/example/Demo.java +++ b/src/refactoring_guru/structure/facade/example/Demo.java @@ -1,6 +1,6 @@ -package refactoring_guru.facade.example; +package refactoring_guru.structure.facade.example; -import refactoring_guru.facade.example.facade.VideoConversionFacade; +import refactoring_guru.structure.facade.example.facade.VideoConversionFacade; import java.io.File; diff --git a/src/refactoring_guru/facade/example/OutputDemo.txt b/src/refactoring_guru/structure/facade/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/facade/example/OutputDemo.txt rename to src/refactoring_guru/structure/facade/example/OutputDemo.txt diff --git a/src/refactoring_guru/facade/example/facade/VideoConversionFacade.java b/src/refactoring_guru/structure/facade/example/facade/VideoConversionFacade.java similarity index 86% rename from src/refactoring_guru/facade/example/facade/VideoConversionFacade.java rename to src/refactoring_guru/structure/facade/example/facade/VideoConversionFacade.java index 5ae11d0..e4ddbd5 100644 --- a/src/refactoring_guru/facade/example/facade/VideoConversionFacade.java +++ b/src/refactoring_guru/structure/facade/example/facade/VideoConversionFacade.java @@ -1,6 +1,6 @@ -package refactoring_guru.facade.example.facade; +package refactoring_guru.structure.facade.example.facade; -import refactoring_guru.facade.example.some_complex_media_library.*; +import refactoring_guru.structure.facade.example.some_complex_media_library.*; import java.io.File; diff --git a/src/refactoring_guru/facade/example/some_complex_media_library/AudioMixer.java b/src/refactoring_guru/structure/facade/example/some_complex_media_library/AudioMixer.java similarity index 70% rename from src/refactoring_guru/facade/example/some_complex_media_library/AudioMixer.java rename to src/refactoring_guru/structure/facade/example/some_complex_media_library/AudioMixer.java index 399145d..2fe59bd 100644 --- a/src/refactoring_guru/facade/example/some_complex_media_library/AudioMixer.java +++ b/src/refactoring_guru/structure/facade/example/some_complex_media_library/AudioMixer.java @@ -1,4 +1,4 @@ -package refactoring_guru.facade.example.some_complex_media_library; +package refactoring_guru.structure.facade.example.some_complex_media_library; import java.io.File; diff --git a/src/refactoring_guru/facade/example/some_complex_media_library/BitrateReader.java b/src/refactoring_guru/structure/facade/example/some_complex_media_library/BitrateReader.java similarity index 81% rename from src/refactoring_guru/facade/example/some_complex_media_library/BitrateReader.java rename to src/refactoring_guru/structure/facade/example/some_complex_media_library/BitrateReader.java index cc2d57f..947deca 100644 --- a/src/refactoring_guru/facade/example/some_complex_media_library/BitrateReader.java +++ b/src/refactoring_guru/structure/facade/example/some_complex_media_library/BitrateReader.java @@ -1,4 +1,4 @@ -package refactoring_guru.facade.example.some_complex_media_library; +package refactoring_guru.structure.facade.example.some_complex_media_library; public class BitrateReader { public static VideoFile read(VideoFile file, Codec codec) { diff --git a/src/refactoring_guru/structure/facade/example/some_complex_media_library/Codec.java b/src/refactoring_guru/structure/facade/example/some_complex_media_library/Codec.java new file mode 100644 index 0000000..1027529 --- /dev/null +++ b/src/refactoring_guru/structure/facade/example/some_complex_media_library/Codec.java @@ -0,0 +1,4 @@ +package refactoring_guru.structure.facade.example.some_complex_media_library; + +public interface Codec { +} diff --git a/src/refactoring_guru/facade/example/some_complex_media_library/CodecFactory.java b/src/refactoring_guru/structure/facade/example/some_complex_media_library/CodecFactory.java similarity index 84% rename from src/refactoring_guru/facade/example/some_complex_media_library/CodecFactory.java rename to src/refactoring_guru/structure/facade/example/some_complex_media_library/CodecFactory.java index 69a7c4d..0a72b3c 100644 --- a/src/refactoring_guru/facade/example/some_complex_media_library/CodecFactory.java +++ b/src/refactoring_guru/structure/facade/example/some_complex_media_library/CodecFactory.java @@ -1,4 +1,4 @@ -package refactoring_guru.facade.example.some_complex_media_library; +package refactoring_guru.structure.facade.example.some_complex_media_library; public class CodecFactory { public static Codec extract(VideoFile file) { diff --git a/src/refactoring_guru/facade/example/some_complex_media_library/MPEG4CompressionCodec.java b/src/refactoring_guru/structure/facade/example/some_complex_media_library/MPEG4CompressionCodec.java similarity index 53% rename from src/refactoring_guru/facade/example/some_complex_media_library/MPEG4CompressionCodec.java rename to src/refactoring_guru/structure/facade/example/some_complex_media_library/MPEG4CompressionCodec.java index e9e0d29..67ed114 100644 --- a/src/refactoring_guru/facade/example/some_complex_media_library/MPEG4CompressionCodec.java +++ b/src/refactoring_guru/structure/facade/example/some_complex_media_library/MPEG4CompressionCodec.java @@ -1,4 +1,4 @@ -package refactoring_guru.facade.example.some_complex_media_library; +package refactoring_guru.structure.facade.example.some_complex_media_library; public class MPEG4CompressionCodec implements Codec { public String type = "mp4"; diff --git a/src/refactoring_guru/facade/example/some_complex_media_library/OggCompressionCodec.java b/src/refactoring_guru/structure/facade/example/some_complex_media_library/OggCompressionCodec.java similarity index 52% rename from src/refactoring_guru/facade/example/some_complex_media_library/OggCompressionCodec.java rename to src/refactoring_guru/structure/facade/example/some_complex_media_library/OggCompressionCodec.java index 42f200f..19cf9ec 100644 --- a/src/refactoring_guru/facade/example/some_complex_media_library/OggCompressionCodec.java +++ b/src/refactoring_guru/structure/facade/example/some_complex_media_library/OggCompressionCodec.java @@ -1,4 +1,4 @@ -package refactoring_guru.facade.example.some_complex_media_library; +package refactoring_guru.structure.facade.example.some_complex_media_library; public class OggCompressionCodec implements Codec { public String type = "ogg"; diff --git a/src/refactoring_guru/facade/example/some_complex_media_library/VideoFile.java b/src/refactoring_guru/structure/facade/example/some_complex_media_library/VideoFile.java similarity index 81% rename from src/refactoring_guru/facade/example/some_complex_media_library/VideoFile.java rename to src/refactoring_guru/structure/facade/example/some_complex_media_library/VideoFile.java index 243035a..0c91641 100644 --- a/src/refactoring_guru/facade/example/some_complex_media_library/VideoFile.java +++ b/src/refactoring_guru/structure/facade/example/some_complex_media_library/VideoFile.java @@ -1,4 +1,4 @@ -package refactoring_guru.facade.example.some_complex_media_library; +package refactoring_guru.structure.facade.example.some_complex_media_library; public class VideoFile { private String name; diff --git a/src/refactoring_guru/flyweight/example/Demo.java b/src/refactoring_guru/structure/flyweight/example/Demo.java similarity index 91% rename from src/refactoring_guru/flyweight/example/Demo.java rename to src/refactoring_guru/structure/flyweight/example/Demo.java index 2f5b9f7..bb8fb08 100644 --- a/src/refactoring_guru/flyweight/example/Demo.java +++ b/src/refactoring_guru/structure/flyweight/example/Demo.java @@ -1,6 +1,6 @@ -package refactoring_guru.flyweight.example; +package refactoring_guru.structure.flyweight.example; -import refactoring_guru.flyweight.example.forest.Forest; +import refactoring_guru.structure.flyweight.example.forest.Forest; import java.awt.*; diff --git a/src/refactoring_guru/flyweight/example/OutputDemo.png b/src/refactoring_guru/structure/flyweight/example/OutputDemo.png similarity index 100% rename from src/refactoring_guru/flyweight/example/OutputDemo.png rename to src/refactoring_guru/structure/flyweight/example/OutputDemo.png diff --git a/src/refactoring_guru/flyweight/example/OutputDemo.txt b/src/refactoring_guru/structure/flyweight/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/flyweight/example/OutputDemo.txt rename to src/refactoring_guru/structure/flyweight/example/OutputDemo.txt diff --git a/src/refactoring_guru/flyweight/example/forest/Forest.java b/src/refactoring_guru/structure/flyweight/example/forest/Forest.java similarity index 64% rename from src/refactoring_guru/flyweight/example/forest/Forest.java rename to src/refactoring_guru/structure/flyweight/example/forest/Forest.java index 7dff7a4..78a19e1 100644 --- a/src/refactoring_guru/flyweight/example/forest/Forest.java +++ b/src/refactoring_guru/structure/flyweight/example/forest/Forest.java @@ -1,8 +1,8 @@ -package refactoring_guru.flyweight.example.forest; +package refactoring_guru.structure.flyweight.example.forest; -import refactoring_guru.flyweight.example.trees.Tree; -import refactoring_guru.flyweight.example.trees.TreeFactory; -import refactoring_guru.flyweight.example.trees.TreeType; +import refactoring_guru.structure.flyweight.example.trees.Tree; +import refactoring_guru.structure.flyweight.example.trees.TreeFactory; +import refactoring_guru.structure.flyweight.example.trees.TreeType; import javax.swing.*; import java.awt.*; @@ -13,6 +13,7 @@ public class Forest extends JFrame { private List trees = new ArrayList<>(); public void plantTree(int x, int y, String name, Color color, String otherTreeData) { + // 复用了 TreeType,避免重复创建 TreeType type = TreeFactory.getTreeType(name, color, otherTreeData); Tree tree = new Tree(x, y, type); trees.add(tree); diff --git a/src/refactoring_guru/flyweight/example/trees/Tree.java b/src/refactoring_guru/structure/flyweight/example/trees/Tree.java similarity index 83% rename from src/refactoring_guru/flyweight/example/trees/Tree.java rename to src/refactoring_guru/structure/flyweight/example/trees/Tree.java index d86e5ea..7ec6ddd 100644 --- a/src/refactoring_guru/flyweight/example/trees/Tree.java +++ b/src/refactoring_guru/structure/flyweight/example/trees/Tree.java @@ -1,4 +1,4 @@ -package refactoring_guru.flyweight.example.trees; +package refactoring_guru.structure.flyweight.example.trees; import java.awt.*; diff --git a/src/refactoring_guru/flyweight/example/trees/TreeFactory.java b/src/refactoring_guru/structure/flyweight/example/trees/TreeFactory.java similarity index 88% rename from src/refactoring_guru/flyweight/example/trees/TreeFactory.java rename to src/refactoring_guru/structure/flyweight/example/trees/TreeFactory.java index 5f4f9fe..ba916f2 100644 --- a/src/refactoring_guru/flyweight/example/trees/TreeFactory.java +++ b/src/refactoring_guru/structure/flyweight/example/trees/TreeFactory.java @@ -1,4 +1,4 @@ -package refactoring_guru.flyweight.example.trees; +package refactoring_guru.structure.flyweight.example.trees; import java.awt.*; import java.util.HashMap; diff --git a/src/refactoring_guru/flyweight/example/trees/TreeType.java b/src/refactoring_guru/structure/flyweight/example/trees/TreeType.java similarity index 89% rename from src/refactoring_guru/flyweight/example/trees/TreeType.java rename to src/refactoring_guru/structure/flyweight/example/trees/TreeType.java index 73c720b..b66450d 100644 --- a/src/refactoring_guru/flyweight/example/trees/TreeType.java +++ b/src/refactoring_guru/structure/flyweight/example/trees/TreeType.java @@ -1,4 +1,4 @@ -package refactoring_guru.flyweight.example.trees; +package refactoring_guru.structure.flyweight.example.trees; import java.awt.*; diff --git a/src/refactoring_guru/proxy/example/Demo.java b/src/refactoring_guru/structure/proxy/example/Demo.java similarity index 78% rename from src/refactoring_guru/proxy/example/Demo.java rename to src/refactoring_guru/structure/proxy/example/Demo.java index 4861f65..780382d 100644 --- a/src/refactoring_guru/proxy/example/Demo.java +++ b/src/refactoring_guru/structure/proxy/example/Demo.java @@ -1,8 +1,8 @@ -package refactoring_guru.proxy.example; +package refactoring_guru.structure.proxy.example; -import refactoring_guru.proxy.example.downloader.YouTubeDownloader; -import refactoring_guru.proxy.example.proxy.YouTubeCacheProxy; -import refactoring_guru.proxy.example.some_cool_media_library.ThirdPartyYouTubeClass; +import refactoring_guru.structure.proxy.example.downloader.YouTubeDownloader; +import refactoring_guru.structure.proxy.example.proxy.YouTubeCacheProxy; +import refactoring_guru.structure.proxy.example.some_cool_media_library.ThirdPartyYouTubeClass; public class Demo { diff --git a/src/refactoring_guru/proxy/example/OutputDemo.txt b/src/refactoring_guru/structure/proxy/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/proxy/example/OutputDemo.txt rename to src/refactoring_guru/structure/proxy/example/OutputDemo.txt diff --git a/src/refactoring_guru/proxy/example/downloader/YouTubeDownloader.java b/src/refactoring_guru/structure/proxy/example/downloader/YouTubeDownloader.java similarity index 82% rename from src/refactoring_guru/proxy/example/downloader/YouTubeDownloader.java rename to src/refactoring_guru/structure/proxy/example/downloader/YouTubeDownloader.java index 1ae9d2c..96e161e 100644 --- a/src/refactoring_guru/proxy/example/downloader/YouTubeDownloader.java +++ b/src/refactoring_guru/structure/proxy/example/downloader/YouTubeDownloader.java @@ -1,7 +1,7 @@ -package refactoring_guru.proxy.example.downloader; +package refactoring_guru.structure.proxy.example.downloader; -import refactoring_guru.proxy.example.some_cool_media_library.ThirdPartyYouTubeLib; -import refactoring_guru.proxy.example.some_cool_media_library.Video; +import refactoring_guru.structure.proxy.example.some_cool_media_library.ThirdPartyYouTubeLib; +import refactoring_guru.structure.proxy.example.some_cool_media_library.Video; import java.util.HashMap; diff --git a/src/refactoring_guru/proxy/example/proxy/YouTubeCacheProxy.java b/src/refactoring_guru/structure/proxy/example/proxy/YouTubeCacheProxy.java similarity index 77% rename from src/refactoring_guru/proxy/example/proxy/YouTubeCacheProxy.java rename to src/refactoring_guru/structure/proxy/example/proxy/YouTubeCacheProxy.java index 7a2887c..9eb7bc5 100644 --- a/src/refactoring_guru/proxy/example/proxy/YouTubeCacheProxy.java +++ b/src/refactoring_guru/structure/proxy/example/proxy/YouTubeCacheProxy.java @@ -1,8 +1,8 @@ -package refactoring_guru.proxy.example.proxy; +package refactoring_guru.structure.proxy.example.proxy; -import refactoring_guru.proxy.example.some_cool_media_library.ThirdPartyYouTubeClass; -import refactoring_guru.proxy.example.some_cool_media_library.ThirdPartyYouTubeLib; -import refactoring_guru.proxy.example.some_cool_media_library.Video; +import refactoring_guru.structure.proxy.example.some_cool_media_library.ThirdPartyYouTubeClass; +import refactoring_guru.structure.proxy.example.some_cool_media_library.ThirdPartyYouTubeLib; +import refactoring_guru.structure.proxy.example.some_cool_media_library.Video; import java.util.HashMap; diff --git a/src/refactoring_guru/proxy/example/some_cool_media_library/ThirdPartyYouTubeClass.java b/src/refactoring_guru/structure/proxy/example/some_cool_media_library/ThirdPartyYouTubeClass.java similarity index 96% rename from src/refactoring_guru/proxy/example/some_cool_media_library/ThirdPartyYouTubeClass.java rename to src/refactoring_guru/structure/proxy/example/some_cool_media_library/ThirdPartyYouTubeClass.java index 7c2e07e..49a7aeb 100644 --- a/src/refactoring_guru/proxy/example/some_cool_media_library/ThirdPartyYouTubeClass.java +++ b/src/refactoring_guru/structure/proxy/example/some_cool_media_library/ThirdPartyYouTubeClass.java @@ -1,4 +1,4 @@ -package refactoring_guru.proxy.example.some_cool_media_library; +package refactoring_guru.structure.proxy.example.some_cool_media_library; import java.util.HashMap; diff --git a/src/refactoring_guru/proxy/example/some_cool_media_library/ThirdPartyYouTubeLib.java b/src/refactoring_guru/structure/proxy/example/some_cool_media_library/ThirdPartyYouTubeLib.java similarity index 67% rename from src/refactoring_guru/proxy/example/some_cool_media_library/ThirdPartyYouTubeLib.java rename to src/refactoring_guru/structure/proxy/example/some_cool_media_library/ThirdPartyYouTubeLib.java index e05ff22..cde1647 100644 --- a/src/refactoring_guru/proxy/example/some_cool_media_library/ThirdPartyYouTubeLib.java +++ b/src/refactoring_guru/structure/proxy/example/some_cool_media_library/ThirdPartyYouTubeLib.java @@ -1,4 +1,4 @@ -package refactoring_guru.proxy.example.some_cool_media_library; +package refactoring_guru.structure.proxy.example.some_cool_media_library; import java.util.HashMap; diff --git a/src/refactoring_guru/proxy/example/some_cool_media_library/Video.java b/src/refactoring_guru/structure/proxy/example/some_cool_media_library/Video.java similarity index 75% rename from src/refactoring_guru/proxy/example/some_cool_media_library/Video.java rename to src/refactoring_guru/structure/proxy/example/some_cool_media_library/Video.java index 96cf8b8..6664d97 100644 --- a/src/refactoring_guru/proxy/example/some_cool_media_library/Video.java +++ b/src/refactoring_guru/structure/proxy/example/some_cool_media_library/Video.java @@ -1,4 +1,4 @@ -package refactoring_guru.proxy.example.some_cool_media_library; +package refactoring_guru.structure.proxy.example.some_cool_media_library; public class Video { public String id; diff --git a/src/refactoring_guru/visitor/example/shapes/Shape.java b/src/refactoring_guru/visitor/example/shapes/Shape.java deleted file mode 100644 index e190136..0000000 --- a/src/refactoring_guru/visitor/example/shapes/Shape.java +++ /dev/null @@ -1,9 +0,0 @@ -package refactoring_guru.visitor.example.shapes; - -import refactoring_guru.visitor.example.visitor.Visitor; - -public interface Shape { - void move(int x, int y); - void draw(); - String accept(Visitor visitor); -} diff --git a/src/refactoring_guru/visitor/example/visitor/Visitor.java b/src/refactoring_guru/visitor/example/visitor/Visitor.java deleted file mode 100644 index 60d0ecf..0000000 --- a/src/refactoring_guru/visitor/example/visitor/Visitor.java +++ /dev/null @@ -1,16 +0,0 @@ -package refactoring_guru.visitor.example.visitor; - -import refactoring_guru.visitor.example.shapes.Circle; -import refactoring_guru.visitor.example.shapes.CompoundShape; -import refactoring_guru.visitor.example.shapes.Dot; -import refactoring_guru.visitor.example.shapes.Rectangle; - -public interface Visitor { - String visitDot(Dot dot); - - String visitCircle(Circle circle); - - String visitRectangle(Rectangle rectangle); - - String visitCompoundGraphic(CompoundShape cg); -}