From 14c6f39dfd932a83f10ab922cd7b0ea3c46cf359 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Ren=C3=A9?= Date: Thu, 15 May 2025 10:43:19 -0300 Subject: [PATCH] grouped to pattern family --- .../chain_of_responsibility/example/Demo.java | 14 +++++++------- .../example/OutputDemo.txt | 0 .../example/middleware/Middleware.java | 2 +- .../middleware/RoleCheckMiddleware.java | 2 +- .../middleware/ThrottlingMiddleware.java | 4 ++-- .../middleware/UserExistsMiddleware.java | 6 +++--- .../example/server/Server.java | 6 +++--- .../{ => behavioral}/command/example/Demo.java | 4 ++-- .../command/example/OutputDemo.png | Bin .../command/example/commands/Command.java | 4 ++-- .../example/commands/CommandHistory.java | 4 ++-- .../command/example/commands/CopyCommand.java | 4 ++-- .../command/example/commands/CutCommand.java | 4 ++-- .../command/example/commands/PasteCommand.java | 4 ++-- .../command/example/editor/Editor.java | 6 +++--- .../interpreter/example/Demo.java | 10 +++++----- .../interpreter/example/OutputDemo.txt | 0 .../expressions/AbstractExpressions.java | 2 +- .../example/expressions/AndExpression.java | 2 +- .../example/expressions/Context.java | 2 +- .../example/expressions/OrExpression.java | 2 +- .../expressions/VariableExpression.java | 2 +- .../iterator/example/Demo.java | 12 ++++++------ .../iterator/example/OutputDemo.txt | 0 .../example/iterators/FacebookIterator.java | 16 ++++++++-------- .../example/iterators/LinkedInIterator.java | 16 ++++++++-------- .../example/iterators/ProfileIterator.java | 11 +++++++++++ .../iterator/example/profile/Profile.java | 8 ++++---- .../example/social_networks/Facebook.java | 10 +++++----- .../example/social_networks/LinkedIn.java | 10 +++++----- .../example/social_networks/SocialNetwork.java | 4 ++-- .../example/spammer/SocialSpammer.java | 8 ++++---- .../mediator/example/Demo.java | 8 ++++---- .../mediator/example/OutputDemo.png | Bin .../mediator/example/components/AddButton.java | 6 +++--- .../mediator/example/components/Component.java | 4 ++-- .../example/components/DeleteButton.java | 4 ++-- .../mediator/example/components/Filter.java | 6 +++--- .../mediator/example/components/List.java | 14 +++++--------- .../example/components/SaveButton.java | 4 ++-- .../mediator/example/components/TextBox.java | 4 ++-- .../mediator/example/components/Title.java | 4 ++-- .../mediator/example/mediator/Editor.java | 14 +++++++------- .../mediator/example/mediator/Mediator.java | 4 ++-- .../mediator/example/mediator/Note.java | 2 +- .../{ => behavioral}/memento/example/Demo.java | 12 ++++++------ .../memento/example/OutputDemo.png | Bin .../memento/example/commands/ColorCommand.java | 10 +++++----- .../memento/example/commands/Command.java | 2 +- .../memento/example/commands/MoveCommand.java | 8 ++++---- .../memento/example/editor/Canvas.java | 10 +++++----- .../memento/example/editor/Editor.java | 16 ++++++++-------- .../memento/example/history/History.java | 4 ++-- .../memento/example/history/Memento.java | 8 ++++---- .../memento/example/shapes/BaseShape.java | 2 +- .../memento/example/shapes/Circle.java | 4 ++-- .../memento/example/shapes/CompoundShape.java | 4 ++-- .../memento}/example/shapes/Dot.java | 2 +- .../memento/example/shapes/Rectangle.java | 6 +++--- .../memento/example/shapes/Shape.java | 2 +- .../observer/example/Demo.java | 8 ++++---- .../observer/example/OutputDemo.txt | 0 .../observer/example/editor/Editor.java | 4 ++-- .../listeners/EmailNotificationListener.java | 4 ++-- .../example/listeners/EventListener.java | 2 +- .../example/listeners/LogOpenListener.java | 4 ++-- .../example/publisher/EventManager.java | 4 ++-- .../{ => behavioral}/state/example/Demo.java | 6 +++--- .../state/example/OutputDemo.png | Bin .../state/example/states/LockedState.java | 4 ++-- .../state/example/states/PlayingState.java | 4 ++-- .../state/example/states/ReadyState.java | 4 ++-- .../state/example/states/State.java | 4 ++-- .../state/example/ui/Player.java | 8 ++++---- .../{ => behavioral}/state/example/ui/UI.java | 6 +++--- .../strategy/example/Demo.java | 16 ++++++++-------- .../strategy/example/OutputDemo.txt | 0 .../strategy/example/order/Order.java | 4 ++-- .../example/strategies/CreditCard.java | 8 ++++---- .../example/strategies/PayByCreditCard.java | 2 +- .../example/strategies/PayByPayPal.java | 2 +- .../example/strategies/PayStrategy.java | 2 +- .../template_method/example/Demo.java | 8 ++++---- .../template_method/example/OutputDemo.txt | 0 .../example/networks/Facebook.java | 2 +- .../example/networks/Network.java | 2 +- .../example/networks/Twitter.java | 2 +- .../{ => behavioral}/visitor/example/Demo.java | 6 +++--- .../visitor/example/OutputDemo.txt | 0 .../visitor/example/shapes/Circle.java | 6 +++--- .../visitor/example/shapes/CompoundShape.java | 4 ++-- .../visitor/example/shapes/Dot.java | 4 ++-- .../visitor/example/shapes/Rectangle.java | 14 +++++++------- .../visitor/example/shapes/Shape.java | 9 +++++++++ .../visitor/example/visitor/Visitor.java | 16 ++++++++++++++++ .../example/visitor/XMLExportVisitor.java | 4 ++-- .../builder/example/cars/CarType.java | 5 ----- .../abstract_factory}/Demo.java | 10 +++++----- .../abstract_factory}/OutputDemo.txt | 0 .../abstract_factory}/app/Application.java | 12 ++++++------ .../abstract_factory}/buttons/Button.java | 2 +- .../abstract_factory}/buttons/MacOSButton.java | 2 +- .../buttons/WindowsButton.java | 2 +- .../abstract_factory}/checkboxes/Checkbox.java | 2 +- .../checkboxes/MacOSCheckbox.java | 2 +- .../checkboxes/WindowsCheckbox.java | 2 +- .../factories/GUIFactory.java | 6 +++--- .../factories/MacOSFactory.java | 10 +++++----- .../factories/WindowsFactory.java | 10 +++++----- .../{ => creational}/builder/example/Demo.java | 12 ++++++------ .../builder/example/OutputDemo.txt | 0 .../builder/example/builders/Builder.java | 12 ++++++------ .../builder/example/builders/CarBuilder.java | 16 ++++++++-------- .../example/builders/CarManualBuilder.java | 14 +++++++------- .../builder/example/cars/Car.java | 10 +++++----- .../builder/example/cars/CarType.java | 5 +++++ .../builder/example/cars/Manual.java | 10 +++++----- .../builder/example/components/Engine.java | 2 +- .../example/components/GPSNavigator.java | 4 ++-- .../example/components/Transmission.java | 2 +- .../example/components/TripComputer.java | 4 ++-- .../builder/example/director/Director.java | 14 +++++++------- .../factory_method/example/Demo.java | 8 ++++---- .../factory_method/example/OutputDemo.png | Bin .../factory_method/example/OutputDemo.txt | 0 .../factory_method/example/buttons/Button.java | 2 +- .../example/buttons/HtmlButton.java | 2 +- .../example/buttons/WindowsButton.java | 2 +- .../factory_method/example/factory/Dialog.java | 4 ++-- .../example/factory/HtmlDialog.java | 17 +++++++++++++++++ .../example/factory/WindowsDialog.java | 6 +++--- .../prototype/caching/Demo.java | 6 +++--- .../prototype/caching/OutputDemo.txt | 0 .../caching/cache/BundledShapeCache.java | 10 +++++----- .../prototype/example/Demo.java | 8 ++++---- .../prototype/example/OutputDemo.txt | 0 .../prototype/example/shapes/Circle.java | 5 ++--- .../prototype/example/shapes/Rectangle.java | 5 ++--- .../prototype/example/shapes/Shape.java | 5 ++--- .../non_thread_safe/DemoMultiThread.java | 2 +- .../non_thread_safe/DemoSingleThread.java | 2 +- .../non_thread_safe/OutputDemoMultiThread.txt | 0 .../non_thread_safe/OutputDemoSingleThread.txt | 0 .../example/non_thread_safe/Singleton.java | 2 +- .../example/thread_safe/DemoMultiThread.java | 2 +- .../thread_safe/OutputDemoMultiThread.txt | 0 .../example/thread_safe/Singleton.java | 2 +- .../some_complex_media_library/Codec.java | 4 ---- .../example/factory/HtmlDialog.java | 17 ----------------- .../example/iterators/ProfileIterator.java | 11 ----------- .../{ => structural}/adapter/example/Demo.java | 10 +++++----- .../adapter/example/OutputDemo.txt | 0 .../example/adapters/SquarePegAdapter.java | 8 ++++---- .../adapter/example/round/RoundHole.java | 4 ++-- .../adapter/example/round/RoundPeg.java | 2 +- .../adapter/example/square/SquarePeg.java | 4 ++-- .../{ => structural}/bridge/example/Demo.java | 12 ++++++------ .../bridge/example/OutputDemo.txt | 0 .../bridge/example/devices/Device.java | 2 +- .../bridge/example/devices/Radio.java | 2 +- .../bridge/example/devices/Tv.java | 2 +- .../bridge/example/remotes/AdvancedRemote.java | 4 ++-- .../bridge/example/remotes/BasicRemote.java | 4 ++-- .../bridge/example/remotes/Remote.java | 2 +- .../composite/example/Demo.java | 12 ++++++------ .../composite/example/OutputDemo.png | Bin .../composite/example/editor/ImageEditor.java | 10 +++++----- .../composite/example/shapes/BaseShape.java | 2 +- .../composite/example/shapes/Circle.java | 2 +- .../example/shapes/CompoundShape.java | 2 +- .../composite}/example/shapes/Dot.java | 2 +- .../composite/example/shapes/Rectangle.java | 2 +- .../composite/example/shapes/Shape.java | 2 +- .../decorator/example/Demo.java | 4 ++-- .../decorator/example/OutputDemo.txt | 0 .../decorators/CompressionDecorator.java | 4 ++-- .../example/decorators/DataSource.java | 2 +- .../decorators/DataSourceDecorator.java | 4 ++-- .../decorators/EncryptionDecorator.java | 2 +- .../example/decorators/FileDataSource.java | 4 ++-- .../{ => structural}/facade/example/Demo.java | 4 ++-- .../facade/example/OutputDemo.txt | 0 .../example/facade/VideoConversionFacade.java | 4 ++-- .../some_complex_media_library/AudioMixer.java | 2 +- .../BitrateReader.java | 2 +- .../some_complex_media_library/Codec.java | 4 ++++ .../CodecFactory.java | 2 +- .../MPEG4CompressionCodec.java | 2 +- .../OggCompressionCodec.java | 2 +- .../some_complex_media_library/VideoFile.java | 6 +++--- .../flyweight/example/Demo.java | 6 +++--- .../flyweight/example/OutputDemo.png | Bin .../flyweight/example/OutputDemo.txt | 0 .../flyweight/example/forest/Forest.java | 10 +++++----- .../flyweight/example/trees/Tree.java | 8 ++++---- .../flyweight/example/trees/TreeFactory.java | 2 +- .../flyweight/example/trees/TreeType.java | 8 ++++---- .../{ => structural}/proxy/example/Demo.java | 8 ++++---- .../proxy/example/OutputDemo.txt | 0 .../example/downloader/YouTubeDownloader.java | 8 ++++---- .../proxy/example/proxy/YouTubeCacheProxy.java | 12 ++++++------ .../ThirdPartyYouTubeClass.java | 2 +- .../ThirdPartyYouTubeLib.java | 2 +- .../example/some_cool_media_library/Video.java | 2 +- .../visitor/example/shapes/Shape.java | 9 --------- .../visitor/example/visitor/Visitor.java | 16 ---------------- 206 files changed, 516 insertions(+), 523 deletions(-) rename src/refactoring_guru/{ => behavioral}/chain_of_responsibility/example/Demo.java (71%) rename src/refactoring_guru/{ => behavioral}/chain_of_responsibility/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => behavioral}/chain_of_responsibility/example/middleware/Middleware.java (94%) rename src/refactoring_guru/{ => behavioral}/chain_of_responsibility/example/middleware/RoleCheckMiddleware.java (86%) rename src/refactoring_guru/{ => behavioral}/chain_of_responsibility/example/middleware/ThrottlingMiddleware.java (93%) rename src/refactoring_guru/{ => behavioral}/chain_of_responsibility/example/middleware/UserExistsMiddleware.java (79%) rename src/refactoring_guru/{ => behavioral}/chain_of_responsibility/example/server/Server.java (88%) rename src/refactoring_guru/{ => behavioral}/command/example/Demo.java (53%) rename src/refactoring_guru/{ => behavioral}/command/example/OutputDemo.png (100%) rename src/refactoring_guru/{ => behavioral}/command/example/commands/Command.java (72%) rename src/refactoring_guru/{ => behavioral}/command/example/commands/CommandHistory.java (67%) rename src/refactoring_guru/{ => behavioral}/command/example/commands/CopyCommand.java (66%) rename src/refactoring_guru/{ => behavioral}/command/example/commands/CutCommand.java (84%) rename src/refactoring_guru/{ => behavioral}/command/example/commands/PasteCommand.java (74%) rename src/refactoring_guru/{ => behavioral}/command/example/editor/Editor.java (92%) rename src/refactoring_guru/{ => behavioral}/interpreter/example/Demo.java (84%) rename src/refactoring_guru/{ => behavioral}/interpreter/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => behavioral}/interpreter/example/expressions/AbstractExpressions.java (63%) rename src/refactoring_guru/{ => behavioral}/interpreter/example/expressions/AndExpression.java (86%) rename src/refactoring_guru/{ => behavioral}/interpreter/example/expressions/Context.java (87%) rename src/refactoring_guru/{ => behavioral}/interpreter/example/expressions/OrExpression.java (86%) rename src/refactoring_guru/{ => behavioral}/interpreter/example/expressions/VariableExpression.java (83%) rename src/refactoring_guru/{ => behavioral}/iterator/example/Demo.java (82%) rename src/refactoring_guru/{ => behavioral}/iterator/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => behavioral}/iterator/example/iterators/FacebookIterator.java (75%) rename src/refactoring_guru/{ => behavioral}/iterator/example/iterators/LinkedInIterator.java (75%) create mode 100644 src/refactoring_guru/behavioral/iterator/example/iterators/ProfileIterator.java rename src/refactoring_guru/{ => behavioral}/iterator/example/profile/Profile.java (86%) rename src/refactoring_guru/{ => behavioral}/iterator/example/social_networks/Facebook.java (89%) rename src/refactoring_guru/{ => behavioral}/iterator/example/social_networks/LinkedIn.java (89%) rename src/refactoring_guru/{ => behavioral}/iterator/example/social_networks/SocialNetwork.java (52%) rename src/refactoring_guru/{ => behavioral}/iterator/example/spammer/SocialSpammer.java (78%) rename src/refactoring_guru/{ => behavioral}/mediator/example/Demo.java (72%) rename src/refactoring_guru/{ => behavioral}/mediator/example/OutputDemo.png (100%) rename src/refactoring_guru/{ => behavioral}/mediator/example/components/AddButton.java (81%) rename src/refactoring_guru/{ => behavioral}/mediator/example/components/Component.java (59%) rename src/refactoring_guru/{ => behavioral}/mediator/example/components/DeleteButton.java (87%) rename src/refactoring_guru/{ => behavioral}/mediator/example/components/Filter.java (89%) rename src/refactoring_guru/{ => behavioral}/mediator/example/components/List.java (83%) rename src/refactoring_guru/{ => behavioral}/mediator/example/components/SaveButton.java (87%) rename src/refactoring_guru/{ => behavioral}/mediator/example/components/TextBox.java (86%) rename src/refactoring_guru/{ => behavioral}/mediator/example/components/Title.java (86%) rename src/refactoring_guru/{ => behavioral}/mediator/example/mediator/Editor.java (92%) rename src/refactoring_guru/{ => behavioral}/mediator/example/mediator/Mediator.java (78%) rename src/refactoring_guru/{ => behavioral}/mediator/example/mediator/Note.java (89%) rename src/refactoring_guru/{ => behavioral}/memento/example/Demo.java (65%) rename src/refactoring_guru/{ => behavioral}/memento/example/OutputDemo.png (100%) rename src/refactoring_guru/{ => behavioral}/memento/example/commands/ColorCommand.java (63%) rename src/refactoring_guru/{ => behavioral}/memento/example/commands/Command.java (53%) rename src/refactoring_guru/{ => behavioral}/memento/example/commands/MoveCommand.java (81%) rename src/refactoring_guru/{ => behavioral}/memento/example/editor/Canvas.java (94%) rename src/refactoring_guru/{ => behavioral}/memento/example/editor/Editor.java (78%) rename src/refactoring_guru/{ => behavioral}/memento/example/history/History.java (93%) rename src/refactoring_guru/{ => behavioral}/memento/example/history/Memento.java (51%) rename src/refactoring_guru/{ => behavioral}/memento/example/shapes/BaseShape.java (97%) rename src/refactoring_guru/{ => behavioral}/memento/example/shapes/Circle.java (84%) rename src/refactoring_guru/{ => behavioral}/memento/example/shapes/CompoundShape.java (97%) rename src/refactoring_guru/{composite => behavioral/memento}/example/shapes/Dot.java (88%) rename src/refactoring_guru/{ => behavioral}/memento/example/shapes/Rectangle.java (81%) rename src/refactoring_guru/{ => behavioral}/memento/example/shapes/Shape.java (88%) rename src/refactoring_guru/{ => behavioral}/observer/example/Demo.java (61%) rename src/refactoring_guru/{ => behavioral}/observer/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => behavioral}/observer/example/editor/Editor.java (79%) rename src/refactoring_guru/{ => behavioral}/observer/example/listeners/EmailNotificationListener.java (80%) rename src/refactoring_guru/{ => behavioral}/observer/example/listeners/EventListener.java (61%) rename src/refactoring_guru/{ => behavioral}/observer/example/listeners/LogOpenListener.java (81%) rename src/refactoring_guru/{ => behavioral}/observer/example/publisher/EventManager.java (87%) rename src/refactoring_guru/{ => behavioral}/state/example/Demo.java (64%) rename src/refactoring_guru/{ => behavioral}/state/example/OutputDemo.png (100%) rename src/refactoring_guru/{ => behavioral}/state/example/states/LockedState.java (88%) rename src/refactoring_guru/{ => behavioral}/state/example/states/PlayingState.java (83%) rename src/refactoring_guru/{ => behavioral}/state/example/states/ReadyState.java (86%) rename src/refactoring_guru/{ => behavioral}/state/example/states/State.java (87%) rename src/refactoring_guru/{ => behavioral}/state/example/ui/Player.java (83%) rename src/refactoring_guru/{ => behavioral}/state/example/ui/UI.java (92%) rename src/refactoring_guru/{ => behavioral}/strategy/example/Demo.java (85%) rename src/refactoring_guru/{ => behavioral}/strategy/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => behavioral}/strategy/example/order/Order.java (90%) rename src/refactoring_guru/{ => behavioral}/strategy/example/strategies/CreditCard.java (75%) rename src/refactoring_guru/{ => behavioral}/strategy/example/strategies/PayByCreditCard.java (96%) rename src/refactoring_guru/{ => behavioral}/strategy/example/strategies/PayByPayPal.java (97%) rename src/refactoring_guru/{ => behavioral}/strategy/example/strategies/PayStrategy.java (77%) rename src/refactoring_guru/{ => behavioral}/template_method/example/Demo.java (82%) rename src/refactoring_guru/{ => behavioral}/template_method/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => behavioral}/template_method/example/networks/Facebook.java (95%) rename src/refactoring_guru/{ => behavioral}/template_method/example/networks/Network.java (94%) rename src/refactoring_guru/{ => behavioral}/template_method/example/networks/Twitter.java (95%) rename src/refactoring_guru/{ => behavioral}/visitor/example/Demo.java (78%) rename src/refactoring_guru/{ => behavioral}/visitor/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => behavioral}/visitor/example/shapes/Circle.java (66%) rename src/refactoring_guru/{ => behavioral}/visitor/example/shapes/CompoundShape.java (82%) rename src/refactoring_guru/{ => behavioral}/visitor/example/shapes/Dot.java (83%) rename src/refactoring_guru/{ => behavioral}/visitor/example/shapes/Rectangle.java (74%) create mode 100644 src/refactoring_guru/behavioral/visitor/example/shapes/Shape.java create mode 100644 src/refactoring_guru/behavioral/visitor/example/visitor/Visitor.java rename src/refactoring_guru/{ => behavioral}/visitor/example/visitor/XMLExportVisitor.java (94%) delete mode 100644 src/refactoring_guru/builder/example/cars/CarType.java rename src/refactoring_guru/{abstract_factory/example => creational/abstract_factory}/Demo.java (75%) rename src/refactoring_guru/{abstract_factory/example => creational/abstract_factory}/OutputDemo.txt (100%) rename src/refactoring_guru/{abstract_factory/example => creational/abstract_factory}/app/Application.java (67%) rename src/refactoring_guru/{abstract_factory/example => creational/abstract_factory}/buttons/Button.java (92%) rename src/refactoring_guru/{abstract_factory/example => creational/abstract_factory}/buttons/MacOSButton.java (87%) rename src/refactoring_guru/{abstract_factory/example => creational/abstract_factory}/buttons/WindowsButton.java (88%) rename src/refactoring_guru/{abstract_factory/example => creational/abstract_factory}/checkboxes/Checkbox.java (82%) rename src/refactoring_guru/{abstract_factory/example => creational/abstract_factory}/checkboxes/MacOSCheckbox.java (87%) rename src/refactoring_guru/{abstract_factory/example => creational/abstract_factory}/checkboxes/WindowsCheckbox.java (87%) rename src/refactoring_guru/{abstract_factory/example => creational/abstract_factory}/factories/GUIFactory.java (59%) rename src/refactoring_guru/{abstract_factory/example => creational/abstract_factory}/factories/MacOSFactory.java (58%) rename src/refactoring_guru/{abstract_factory/example => creational/abstract_factory}/factories/WindowsFactory.java (58%) rename src/refactoring_guru/{ => creational}/builder/example/Demo.java (82%) rename src/refactoring_guru/{ => creational}/builder/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => creational}/builder/example/builders/Builder.java (55%) rename src/refactoring_guru/{ => creational}/builder/example/builders/CarBuilder.java (71%) rename src/refactoring_guru/{ => creational}/builder/example/builders/CarManualBuilder.java (80%) rename src/refactoring_guru/{ => creational}/builder/example/cars/Car.java (79%) create mode 100644 src/refactoring_guru/creational/builder/example/cars/CarType.java rename src/refactoring_guru/{ => creational}/builder/example/cars/Manual.java (83%) rename src/refactoring_guru/{ => creational}/builder/example/components/Engine.java (92%) rename src/refactoring_guru/{ => creational}/builder/example/components/GPSNavigator.java (80%) rename src/refactoring_guru/{ => creational}/builder/example/components/Transmission.java (74%) rename src/refactoring_guru/{ => creational}/builder/example/components/TripComputer.java (81%) rename src/refactoring_guru/{ => creational}/builder/example/director/Director.java (76%) rename src/refactoring_guru/{ => creational}/factory_method/example/Demo.java (82%) rename src/refactoring_guru/{ => creational}/factory_method/example/OutputDemo.png (100%) rename src/refactoring_guru/{ => creational}/factory_method/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => creational}/factory_method/example/buttons/Button.java (73%) rename src/refactoring_guru/{ => creational}/factory_method/example/buttons/HtmlButton.java (83%) rename src/refactoring_guru/{ => creational}/factory_method/example/buttons/WindowsButton.java (95%) rename src/refactoring_guru/{ => creational}/factory_method/example/factory/Dialog.java (89%) create mode 100644 src/refactoring_guru/creational/factory_method/example/factory/HtmlDialog.java rename src/refactoring_guru/{ => creational}/factory_method/example/factory/WindowsDialog.java (56%) rename src/refactoring_guru/{ => creational}/prototype/caching/Demo.java (83%) rename src/refactoring_guru/{ => creational}/prototype/caching/OutputDemo.txt (100%) rename src/refactoring_guru/{ => creational}/prototype/caching/cache/BundledShapeCache.java (69%) rename src/refactoring_guru/{ => creational}/prototype/example/Demo.java (84%) rename src/refactoring_guru/{ => creational}/prototype/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => creational}/prototype/example/shapes/Circle.java (70%) rename src/refactoring_guru/{ => creational}/prototype/example/shapes/Rectangle.java (74%) rename src/refactoring_guru/{ => creational}/prototype/example/shapes/Shape.java (77%) rename src/refactoring_guru/{ => creational}/singleton/example/non_thread_safe/DemoMultiThread.java (92%) rename src/refactoring_guru/{ => creational}/singleton/example/non_thread_safe/DemoSingleThread.java (88%) rename src/refactoring_guru/{ => creational}/singleton/example/non_thread_safe/OutputDemoMultiThread.txt (100%) rename src/refactoring_guru/{ => creational}/singleton/example/non_thread_safe/OutputDemoSingleThread.txt (100%) rename src/refactoring_guru/{ => creational}/singleton/example/non_thread_safe/Singleton.java (90%) rename src/refactoring_guru/{ => creational}/singleton/example/thread_safe/DemoMultiThread.java (93%) rename src/refactoring_guru/{ => creational}/singleton/example/thread_safe/OutputDemoMultiThread.txt (100%) rename src/refactoring_guru/{ => creational}/singleton/example/thread_safe/Singleton.java (97%) delete mode 100644 src/refactoring_guru/facade/example/some_complex_media_library/Codec.java delete mode 100644 src/refactoring_guru/factory_method/example/factory/HtmlDialog.java delete mode 100644 src/refactoring_guru/iterator/example/iterators/ProfileIterator.java rename src/refactoring_guru/{ => structural}/adapter/example/Demo.java (79%) rename src/refactoring_guru/{ => structural}/adapter/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => structural}/adapter/example/adapters/SquarePegAdapter.java (76%) rename src/refactoring_guru/{ => structural}/adapter/example/round/RoundHole.java (83%) rename src/refactoring_guru/{ => structural}/adapter/example/round/RoundPeg.java (86%) rename src/refactoring_guru/{ => structural}/adapter/example/square/SquarePeg.java (89%) rename src/refactoring_guru/{ => structural}/bridge/example/Demo.java (60%) rename src/refactoring_guru/{ => structural}/bridge/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => structural}/bridge/example/devices/Device.java (79%) rename src/refactoring_guru/{ => structural}/bridge/example/devices/Radio.java (95%) rename src/refactoring_guru/{ => structural}/bridge/example/devices/Tv.java (95%) rename src/refactoring_guru/{ => structural}/bridge/example/remotes/AdvancedRemote.java (65%) rename src/refactoring_guru/{ => structural}/bridge/example/remotes/BasicRemote.java (88%) rename src/refactoring_guru/{ => structural}/bridge/example/remotes/Remote.java (70%) rename src/refactoring_guru/{ => structural}/composite/example/Demo.java (64%) rename src/refactoring_guru/{ => structural}/composite/example/OutputDemo.png (100%) rename src/refactoring_guru/{ => structural}/composite/example/editor/ImageEditor.java (86%) rename src/refactoring_guru/{ => structural}/composite/example/shapes/BaseShape.java (96%) rename src/refactoring_guru/{ => structural}/composite/example/shapes/Circle.java (89%) rename src/refactoring_guru/{ => structural}/composite/example/shapes/CompoundShape.java (98%) rename src/refactoring_guru/{memento => structural/composite}/example/shapes/Dot.java (88%) rename src/refactoring_guru/{ => structural}/composite/example/shapes/Rectangle.java (90%) rename src/refactoring_guru/{ => structural}/composite/example/shapes/Shape.java (82%) rename src/refactoring_guru/{ => structural}/decorator/example/Demo.java (86%) rename src/refactoring_guru/{ => structural}/decorator/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => structural}/decorator/example/decorators/CompressionDecorator.java (94%) rename src/refactoring_guru/{ => structural}/decorator/example/decorators/DataSource.java (57%) rename src/refactoring_guru/{ => structural}/decorator/example/decorators/DataSourceDecorator.java (76%) rename src/refactoring_guru/{ => structural}/decorator/example/decorators/EncryptionDecorator.java (92%) rename src/refactoring_guru/{ => structural}/decorator/example/decorators/FileDataSource.java (89%) rename src/refactoring_guru/{ => structural}/facade/example/Demo.java (66%) rename src/refactoring_guru/{ => structural}/facade/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => structural}/facade/example/facade/VideoConversionFacade.java (85%) rename src/refactoring_guru/{ => structural}/facade/example/some_complex_media_library/AudioMixer.java (70%) rename src/refactoring_guru/{ => structural}/facade/example/some_complex_media_library/BitrateReader.java (81%) create mode 100644 src/refactoring_guru/structural/facade/example/some_complex_media_library/Codec.java rename src/refactoring_guru/{ => structural}/facade/example/some_complex_media_library/CodecFactory.java (84%) rename src/refactoring_guru/{ => structural}/facade/example/some_complex_media_library/MPEG4CompressionCodec.java (53%) rename src/refactoring_guru/{ => structural}/facade/example/some_complex_media_library/OggCompressionCodec.java (52%) rename src/refactoring_guru/{ => structural}/facade/example/some_complex_media_library/VideoFile.java (66%) rename src/refactoring_guru/{ => structural}/flyweight/example/Demo.java (90%) rename src/refactoring_guru/{ => structural}/flyweight/example/OutputDemo.png (100%) rename src/refactoring_guru/{ => structural}/flyweight/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => structural}/flyweight/example/forest/Forest.java (61%) rename src/refactoring_guru/{ => structural}/flyweight/example/trees/Tree.java (61%) rename src/refactoring_guru/{ => structural}/flyweight/example/trees/TreeFactory.java (88%) rename src/refactoring_guru/{ => structural}/flyweight/example/trees/TreeType.java (71%) rename src/refactoring_guru/{ => structural}/proxy/example/Demo.java (78%) rename src/refactoring_guru/{ => structural}/proxy/example/OutputDemo.txt (100%) rename src/refactoring_guru/{ => structural}/proxy/example/downloader/YouTubeDownloader.java (78%) rename src/refactoring_guru/{ => structural}/proxy/example/proxy/YouTubeCacheProxy.java (68%) rename src/refactoring_guru/{ => structural}/proxy/example/some_cool_media_library/ThirdPartyYouTubeClass.java (96%) rename src/refactoring_guru/{ => structural}/proxy/example/some_cool_media_library/ThirdPartyYouTubeLib.java (66%) rename src/refactoring_guru/{ => structural}/proxy/example/some_cool_media_library/Video.java (75%) delete mode 100644 src/refactoring_guru/visitor/example/shapes/Shape.java delete mode 100644 src/refactoring_guru/visitor/example/visitor/Visitor.java diff --git a/src/refactoring_guru/chain_of_responsibility/example/Demo.java b/src/refactoring_guru/behavioral/chain_of_responsibility/example/Demo.java similarity index 71% rename from src/refactoring_guru/chain_of_responsibility/example/Demo.java rename to src/refactoring_guru/behavioral/chain_of_responsibility/example/Demo.java index 1934e61..19ed5f0 100644 --- a/src/refactoring_guru/chain_of_responsibility/example/Demo.java +++ b/src/refactoring_guru/behavioral/chain_of_responsibility/example/Demo.java @@ -1,10 +1,10 @@ -package refactoring_guru.chain_of_responsibility.example; +package refactoring_guru.behavioral.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.behavioral.chain_of_responsibility.example.middleware.Middleware; +import refactoring_guru.behavioral.chain_of_responsibility.example.middleware.RoleCheckMiddleware; +import refactoring_guru.behavioral.chain_of_responsibility.example.middleware.ThrottlingMiddleware; +import refactoring_guru.behavioral.chain_of_responsibility.example.middleware.UserExistsMiddleware; +import refactoring_guru.behavioral.chain_of_responsibility.example.server.Server; import java.io.BufferedReader; import java.io.IOException; @@ -16,7 +16,7 @@ * RU: Демо-класс. Здесь всё сводится воедино. */ public class Demo { - private static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); + private static final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); private static Server server; private static void init() { diff --git a/src/refactoring_guru/chain_of_responsibility/example/OutputDemo.txt b/src/refactoring_guru/behavioral/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/behavioral/chain_of_responsibility/example/OutputDemo.txt diff --git a/src/refactoring_guru/chain_of_responsibility/example/middleware/Middleware.java b/src/refactoring_guru/behavioral/chain_of_responsibility/example/middleware/Middleware.java similarity index 94% rename from src/refactoring_guru/chain_of_responsibility/example/middleware/Middleware.java rename to src/refactoring_guru/behavioral/chain_of_responsibility/example/middleware/Middleware.java index bd4d7bf..b55ea3e 100644 --- a/src/refactoring_guru/chain_of_responsibility/example/middleware/Middleware.java +++ b/src/refactoring_guru/behavioral/chain_of_responsibility/example/middleware/Middleware.java @@ -1,4 +1,4 @@ -package refactoring_guru.chain_of_responsibility.example.middleware; +package refactoring_guru.behavioral.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/behavioral/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/behavioral/chain_of_responsibility/example/middleware/RoleCheckMiddleware.java index 1315883..020577c 100644 --- a/src/refactoring_guru/chain_of_responsibility/example/middleware/RoleCheckMiddleware.java +++ b/src/refactoring_guru/behavioral/chain_of_responsibility/example/middleware/RoleCheckMiddleware.java @@ -1,4 +1,4 @@ -package refactoring_guru.chain_of_responsibility.example.middleware; +package refactoring_guru.behavioral.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/behavioral/chain_of_responsibility/example/middleware/ThrottlingMiddleware.java similarity index 93% rename from src/refactoring_guru/chain_of_responsibility/example/middleware/ThrottlingMiddleware.java rename to src/refactoring_guru/behavioral/chain_of_responsibility/example/middleware/ThrottlingMiddleware.java index 78341f2..4bb3f99 100644 --- a/src/refactoring_guru/chain_of_responsibility/example/middleware/ThrottlingMiddleware.java +++ b/src/refactoring_guru/behavioral/chain_of_responsibility/example/middleware/ThrottlingMiddleware.java @@ -1,4 +1,4 @@ -package refactoring_guru.chain_of_responsibility.example.middleware; +package refactoring_guru.behavioral.chain_of_responsibility.example.middleware; /** * EN: ConcreteHandler. Checks whether there are too many failed login requests. @@ -6,7 +6,7 @@ * RU: Конкретный элемент цепи обрабатывает запрос по-своему. */ public class ThrottlingMiddleware extends Middleware { - private int requestPerMinute; + private final int requestPerMinute; private int request; private long currentTime; diff --git a/src/refactoring_guru/chain_of_responsibility/example/middleware/UserExistsMiddleware.java b/src/refactoring_guru/behavioral/chain_of_responsibility/example/middleware/UserExistsMiddleware.java similarity index 79% rename from src/refactoring_guru/chain_of_responsibility/example/middleware/UserExistsMiddleware.java rename to src/refactoring_guru/behavioral/chain_of_responsibility/example/middleware/UserExistsMiddleware.java index 005d0a6..7e6bfc4 100644 --- a/src/refactoring_guru/chain_of_responsibility/example/middleware/UserExistsMiddleware.java +++ b/src/refactoring_guru/behavioral/chain_of_responsibility/example/middleware/UserExistsMiddleware.java @@ -1,6 +1,6 @@ -package refactoring_guru.chain_of_responsibility.example.middleware; +package refactoring_guru.behavioral.chain_of_responsibility.example.middleware; -import refactoring_guru.chain_of_responsibility.example.server.Server; +import refactoring_guru.behavioral.chain_of_responsibility.example.server.Server; /** * EN: ConcreteHandler. Checks whether a user with the given credentials exists. @@ -8,7 +8,7 @@ * RU: Конкретный элемент цепи обрабатывает запрос по-своему. */ public class UserExistsMiddleware extends Middleware { - private Server server; + private final Server server; public UserExistsMiddleware(Server server) { this.server = server; diff --git a/src/refactoring_guru/chain_of_responsibility/example/server/Server.java b/src/refactoring_guru/behavioral/chain_of_responsibility/example/server/Server.java similarity index 88% rename from src/refactoring_guru/chain_of_responsibility/example/server/Server.java rename to src/refactoring_guru/behavioral/chain_of_responsibility/example/server/Server.java index 52f0be2..7e14e5e 100644 --- a/src/refactoring_guru/chain_of_responsibility/example/server/Server.java +++ b/src/refactoring_guru/behavioral/chain_of_responsibility/example/server/Server.java @@ -1,6 +1,6 @@ -package refactoring_guru.chain_of_responsibility.example.server; +package refactoring_guru.behavioral.chain_of_responsibility.example.server; -import refactoring_guru.chain_of_responsibility.example.middleware.Middleware; +import refactoring_guru.behavioral.chain_of_responsibility.example.middleware.Middleware; import java.util.HashMap; import java.util.Map; @@ -11,7 +11,7 @@ * RU: Класс сервера. */ public class Server { - private Map users = new HashMap<>(); + private final Map users = new HashMap<>(); private Middleware middleware; /** diff --git a/src/refactoring_guru/command/example/Demo.java b/src/refactoring_guru/behavioral/command/example/Demo.java similarity index 53% rename from src/refactoring_guru/command/example/Demo.java rename to src/refactoring_guru/behavioral/command/example/Demo.java index 7fa1d5a..09091d6 100644 --- a/src/refactoring_guru/command/example/Demo.java +++ b/src/refactoring_guru/behavioral/command/example/Demo.java @@ -1,6 +1,6 @@ -package refactoring_guru.command.example; +package refactoring_guru.behavioral.command.example; -import refactoring_guru.command.example.editor.Editor; +import refactoring_guru.behavioral.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/behavioral/command/example/OutputDemo.png similarity index 100% rename from src/refactoring_guru/command/example/OutputDemo.png rename to src/refactoring_guru/behavioral/command/example/OutputDemo.png diff --git a/src/refactoring_guru/command/example/commands/Command.java b/src/refactoring_guru/behavioral/command/example/commands/Command.java similarity index 72% rename from src/refactoring_guru/command/example/commands/Command.java rename to src/refactoring_guru/behavioral/command/example/commands/Command.java index 9a6c680..92d2e96 100644 --- a/src/refactoring_guru/command/example/commands/Command.java +++ b/src/refactoring_guru/behavioral/command/example/commands/Command.java @@ -1,6 +1,6 @@ -package refactoring_guru.command.example.commands; +package refactoring_guru.behavioral.command.example.commands; -import refactoring_guru.command.example.editor.Editor; +import refactoring_guru.behavioral.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/behavioral/command/example/commands/CommandHistory.java similarity index 67% rename from src/refactoring_guru/command/example/commands/CommandHistory.java rename to src/refactoring_guru/behavioral/command/example/commands/CommandHistory.java index 5d578d6..564c04f 100644 --- a/src/refactoring_guru/command/example/commands/CommandHistory.java +++ b/src/refactoring_guru/behavioral/command/example/commands/CommandHistory.java @@ -1,9 +1,9 @@ -package refactoring_guru.command.example.commands; +package refactoring_guru.behavioral.command.example.commands; import java.util.Stack; public class CommandHistory { - private Stack history = new Stack<>(); + private final Stack history = new Stack<>(); public void push(Command c) { history.push(c); diff --git a/src/refactoring_guru/command/example/commands/CopyCommand.java b/src/refactoring_guru/behavioral/command/example/commands/CopyCommand.java similarity index 66% rename from src/refactoring_guru/command/example/commands/CopyCommand.java rename to src/refactoring_guru/behavioral/command/example/commands/CopyCommand.java index 5d4d47b..2de0ee1 100644 --- a/src/refactoring_guru/command/example/commands/CopyCommand.java +++ b/src/refactoring_guru/behavioral/command/example/commands/CopyCommand.java @@ -1,6 +1,6 @@ -package refactoring_guru.command.example.commands; +package refactoring_guru.behavioral.command.example.commands; -import refactoring_guru.command.example.editor.Editor; +import refactoring_guru.behavioral.command.example.editor.Editor; public class CopyCommand extends Command { diff --git a/src/refactoring_guru/command/example/commands/CutCommand.java b/src/refactoring_guru/behavioral/command/example/commands/CutCommand.java similarity index 84% rename from src/refactoring_guru/command/example/commands/CutCommand.java rename to src/refactoring_guru/behavioral/command/example/commands/CutCommand.java index 495d9ab..0b2eb20 100644 --- a/src/refactoring_guru/command/example/commands/CutCommand.java +++ b/src/refactoring_guru/behavioral/command/example/commands/CutCommand.java @@ -1,6 +1,6 @@ -package refactoring_guru.command.example.commands; +package refactoring_guru.behavioral.command.example.commands; -import refactoring_guru.command.example.editor.Editor; +import refactoring_guru.behavioral.command.example.editor.Editor; public class CutCommand extends Command { diff --git a/src/refactoring_guru/command/example/commands/PasteCommand.java b/src/refactoring_guru/behavioral/command/example/commands/PasteCommand.java similarity index 74% rename from src/refactoring_guru/command/example/commands/PasteCommand.java rename to src/refactoring_guru/behavioral/command/example/commands/PasteCommand.java index e787346..e6e0868 100644 --- a/src/refactoring_guru/command/example/commands/PasteCommand.java +++ b/src/refactoring_guru/behavioral/command/example/commands/PasteCommand.java @@ -1,6 +1,6 @@ -package refactoring_guru.command.example.commands; +package refactoring_guru.behavioral.command.example.commands; -import refactoring_guru.command.example.editor.Editor; +import refactoring_guru.behavioral.command.example.editor.Editor; public class PasteCommand extends Command { diff --git a/src/refactoring_guru/command/example/editor/Editor.java b/src/refactoring_guru/behavioral/command/example/editor/Editor.java similarity index 92% rename from src/refactoring_guru/command/example/editor/Editor.java rename to src/refactoring_guru/behavioral/command/example/editor/Editor.java index 87b241b..f06fc8f 100644 --- a/src/refactoring_guru/command/example/editor/Editor.java +++ b/src/refactoring_guru/behavioral/command/example/editor/Editor.java @@ -1,6 +1,6 @@ -package refactoring_guru.command.example.editor; +package refactoring_guru.behavioral.command.example.editor; -import refactoring_guru.command.example.commands.*; +import refactoring_guru.behavioral.command.example.commands.*; import javax.swing.*; import java.awt.*; @@ -10,7 +10,7 @@ public class Editor { public JTextArea textField; public String clipboard; - private CommandHistory history = new CommandHistory(); + private final CommandHistory history = new CommandHistory(); public void init() { JFrame frame = new JFrame("Text editor (type & use buttons, Luke!)"); diff --git a/src/refactoring_guru/interpreter/example/Demo.java b/src/refactoring_guru/behavioral/interpreter/example/Demo.java similarity index 84% rename from src/refactoring_guru/interpreter/example/Demo.java rename to src/refactoring_guru/behavioral/interpreter/example/Demo.java index 3592338..d0525c7 100644 --- a/src/refactoring_guru/interpreter/example/Demo.java +++ b/src/refactoring_guru/behavioral/interpreter/example/Demo.java @@ -1,9 +1,9 @@ -package refactoring_guru.interpreter.example; +package refactoring_guru.behavioral.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.behavioral.interpreter.example.expressions.AndExpression; +import refactoring_guru.behavioral.interpreter.example.expressions.Context; +import refactoring_guru.behavioral.interpreter.example.expressions.OrExpression; +import refactoring_guru.behavioral.interpreter.example.expressions.VariableExpression; /** * EN: Interpreter Design Pattern diff --git a/src/refactoring_guru/interpreter/example/OutputDemo.txt b/src/refactoring_guru/behavioral/interpreter/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/interpreter/example/OutputDemo.txt rename to src/refactoring_guru/behavioral/interpreter/example/OutputDemo.txt diff --git a/src/refactoring_guru/interpreter/example/expressions/AbstractExpressions.java b/src/refactoring_guru/behavioral/interpreter/example/expressions/AbstractExpressions.java similarity index 63% rename from src/refactoring_guru/interpreter/example/expressions/AbstractExpressions.java rename to src/refactoring_guru/behavioral/interpreter/example/expressions/AbstractExpressions.java index a6af623..bbebc96 100644 --- a/src/refactoring_guru/interpreter/example/expressions/AbstractExpressions.java +++ b/src/refactoring_guru/behavioral/interpreter/example/expressions/AbstractExpressions.java @@ -1,4 +1,4 @@ -package refactoring_guru.interpreter.example.expressions; +package refactoring_guru.behavioral.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/behavioral/interpreter/example/expressions/AndExpression.java similarity index 86% rename from src/refactoring_guru/interpreter/example/expressions/AndExpression.java rename to src/refactoring_guru/behavioral/interpreter/example/expressions/AndExpression.java index 286daf5..a129730 100644 --- a/src/refactoring_guru/interpreter/example/expressions/AndExpression.java +++ b/src/refactoring_guru/behavioral/interpreter/example/expressions/AndExpression.java @@ -1,4 +1,4 @@ -package refactoring_guru.interpreter.example.expressions; +package refactoring_guru.behavioral.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/behavioral/interpreter/example/expressions/Context.java similarity index 87% rename from src/refactoring_guru/interpreter/example/expressions/Context.java rename to src/refactoring_guru/behavioral/interpreter/example/expressions/Context.java index 57e097f..e09a09d 100644 --- a/src/refactoring_guru/interpreter/example/expressions/Context.java +++ b/src/refactoring_guru/behavioral/interpreter/example/expressions/Context.java @@ -1,4 +1,4 @@ -package refactoring_guru.interpreter.example.expressions; +package refactoring_guru.behavioral.interpreter.example.expressions; import java.util.HashMap; diff --git a/src/refactoring_guru/interpreter/example/expressions/OrExpression.java b/src/refactoring_guru/behavioral/interpreter/example/expressions/OrExpression.java similarity index 86% rename from src/refactoring_guru/interpreter/example/expressions/OrExpression.java rename to src/refactoring_guru/behavioral/interpreter/example/expressions/OrExpression.java index 1aa863f..5740a49 100644 --- a/src/refactoring_guru/interpreter/example/expressions/OrExpression.java +++ b/src/refactoring_guru/behavioral/interpreter/example/expressions/OrExpression.java @@ -1,4 +1,4 @@ -package refactoring_guru.interpreter.example.expressions; +package refactoring_guru.behavioral.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/behavioral/interpreter/example/expressions/VariableExpression.java similarity index 83% rename from src/refactoring_guru/interpreter/example/expressions/VariableExpression.java rename to src/refactoring_guru/behavioral/interpreter/example/expressions/VariableExpression.java index 4918e0a..da46d35 100644 --- a/src/refactoring_guru/interpreter/example/expressions/VariableExpression.java +++ b/src/refactoring_guru/behavioral/interpreter/example/expressions/VariableExpression.java @@ -1,4 +1,4 @@ -package refactoring_guru.interpreter.example.expressions; +package refactoring_guru.behavioral.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/behavioral/iterator/example/Demo.java similarity index 82% rename from src/refactoring_guru/iterator/example/Demo.java rename to src/refactoring_guru/behavioral/iterator/example/Demo.java index 31ff314..92d9e1b 100644 --- a/src/refactoring_guru/iterator/example/Demo.java +++ b/src/refactoring_guru/behavioral/iterator/example/Demo.java @@ -1,10 +1,10 @@ -package refactoring_guru.iterator.example; +package refactoring_guru.behavioral.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.behavioral.iterator.example.profile.Profile; +import refactoring_guru.behavioral.iterator.example.social_networks.Facebook; +import refactoring_guru.behavioral.iterator.example.social_networks.LinkedIn; +import refactoring_guru.behavioral.iterator.example.social_networks.SocialNetwork; +import refactoring_guru.behavioral.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/behavioral/iterator/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/iterator/example/OutputDemo.txt rename to src/refactoring_guru/behavioral/iterator/example/OutputDemo.txt diff --git a/src/refactoring_guru/iterator/example/iterators/FacebookIterator.java b/src/refactoring_guru/behavioral/iterator/example/iterators/FacebookIterator.java similarity index 75% rename from src/refactoring_guru/iterator/example/iterators/FacebookIterator.java rename to src/refactoring_guru/behavioral/iterator/example/iterators/FacebookIterator.java index 1efb222..8127c3a 100644 --- a/src/refactoring_guru/iterator/example/iterators/FacebookIterator.java +++ b/src/refactoring_guru/behavioral/iterator/example/iterators/FacebookIterator.java @@ -1,18 +1,18 @@ -package refactoring_guru.iterator.example.iterators; +package refactoring_guru.behavioral.iterator.example.iterators; -import refactoring_guru.iterator.example.profile.Profile; -import refactoring_guru.iterator.example.social_networks.Facebook; +import refactoring_guru.behavioral.iterator.example.profile.Profile; +import refactoring_guru.behavioral.iterator.example.social_networks.Facebook; import java.util.ArrayList; import java.util.List; public class FacebookIterator implements ProfileIterator { - private Facebook facebook; - private String type; - private String email; + private final Facebook facebook; + private final String type; + private final String email; private int currentPosition = 0; - private List emails = new ArrayList<>(); - private List profiles = new ArrayList<>(); + private final List emails = new ArrayList<>(); + private final List profiles = new ArrayList<>(); public FacebookIterator(Facebook facebook, String type, String email) { this.facebook = facebook; diff --git a/src/refactoring_guru/iterator/example/iterators/LinkedInIterator.java b/src/refactoring_guru/behavioral/iterator/example/iterators/LinkedInIterator.java similarity index 75% rename from src/refactoring_guru/iterator/example/iterators/LinkedInIterator.java rename to src/refactoring_guru/behavioral/iterator/example/iterators/LinkedInIterator.java index 92d4fcc..fc76843 100644 --- a/src/refactoring_guru/iterator/example/iterators/LinkedInIterator.java +++ b/src/refactoring_guru/behavioral/iterator/example/iterators/LinkedInIterator.java @@ -1,18 +1,18 @@ -package refactoring_guru.iterator.example.iterators; +package refactoring_guru.behavioral.iterator.example.iterators; -import refactoring_guru.iterator.example.profile.Profile; -import refactoring_guru.iterator.example.social_networks.LinkedIn; +import refactoring_guru.behavioral.iterator.example.profile.Profile; +import refactoring_guru.behavioral.iterator.example.social_networks.LinkedIn; import java.util.ArrayList; import java.util.List; public class LinkedInIterator implements ProfileIterator { - private LinkedIn linkedIn; - private String type; - private String email; + private final LinkedIn linkedIn; + private final String type; + private final String email; private int currentPosition = 0; - private List emails = new ArrayList<>(); - private List contacts = new ArrayList<>(); + private final List emails = new ArrayList<>(); + private final List contacts = new ArrayList<>(); public LinkedInIterator(LinkedIn linkedIn, String type, String email) { this.linkedIn = linkedIn; diff --git a/src/refactoring_guru/behavioral/iterator/example/iterators/ProfileIterator.java b/src/refactoring_guru/behavioral/iterator/example/iterators/ProfileIterator.java new file mode 100644 index 0000000..a2b1aba --- /dev/null +++ b/src/refactoring_guru/behavioral/iterator/example/iterators/ProfileIterator.java @@ -0,0 +1,11 @@ +package refactoring_guru.behavioral.iterator.example.iterators; + +import refactoring_guru.behavioral.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/behavioral/iterator/example/profile/Profile.java similarity index 86% rename from src/refactoring_guru/iterator/example/profile/Profile.java rename to src/refactoring_guru/behavioral/iterator/example/profile/Profile.java index ed49864..793d9da 100644 --- a/src/refactoring_guru/iterator/example/profile/Profile.java +++ b/src/refactoring_guru/behavioral/iterator/example/profile/Profile.java @@ -1,4 +1,4 @@ -package refactoring_guru.iterator.example.profile; +package refactoring_guru.behavioral.iterator.example.profile; import java.util.ArrayList; import java.util.HashMap; @@ -6,9 +6,9 @@ import java.util.Map; public class Profile { - private String name; - private String email; - private Map> contacts = new HashMap<>(); + private final String name; + private final String email; + private final Map> contacts = new HashMap<>(); public Profile(String email, String name, String... contacts) { this.email = email; diff --git a/src/refactoring_guru/iterator/example/social_networks/Facebook.java b/src/refactoring_guru/behavioral/iterator/example/social_networks/Facebook.java similarity index 89% rename from src/refactoring_guru/iterator/example/social_networks/Facebook.java rename to src/refactoring_guru/behavioral/iterator/example/social_networks/Facebook.java index 7c6e6f3..648f504 100644 --- a/src/refactoring_guru/iterator/example/social_networks/Facebook.java +++ b/src/refactoring_guru/behavioral/iterator/example/social_networks/Facebook.java @@ -1,14 +1,14 @@ -package refactoring_guru.iterator.example.social_networks; +package refactoring_guru.behavioral.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.behavioral.iterator.example.iterators.FacebookIterator; +import refactoring_guru.behavioral.iterator.example.iterators.ProfileIterator; +import refactoring_guru.behavioral.iterator.example.profile.Profile; import java.util.ArrayList; import java.util.List; public class Facebook implements SocialNetwork { - private List profiles; + private final List profiles; public Facebook(List cache) { if (cache != null) { diff --git a/src/refactoring_guru/iterator/example/social_networks/LinkedIn.java b/src/refactoring_guru/behavioral/iterator/example/social_networks/LinkedIn.java similarity index 89% rename from src/refactoring_guru/iterator/example/social_networks/LinkedIn.java rename to src/refactoring_guru/behavioral/iterator/example/social_networks/LinkedIn.java index 28b1965..20c3ffe 100644 --- a/src/refactoring_guru/iterator/example/social_networks/LinkedIn.java +++ b/src/refactoring_guru/behavioral/iterator/example/social_networks/LinkedIn.java @@ -1,14 +1,14 @@ -package refactoring_guru.iterator.example.social_networks; +package refactoring_guru.behavioral.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.behavioral.iterator.example.iterators.LinkedInIterator; +import refactoring_guru.behavioral.iterator.example.iterators.ProfileIterator; +import refactoring_guru.behavioral.iterator.example.profile.Profile; import java.util.ArrayList; import java.util.List; public class LinkedIn implements SocialNetwork { - private List contacts; + private final List contacts; public LinkedIn(List cache) { if (cache != null) { diff --git a/src/refactoring_guru/iterator/example/social_networks/SocialNetwork.java b/src/refactoring_guru/behavioral/iterator/example/social_networks/SocialNetwork.java similarity index 52% rename from src/refactoring_guru/iterator/example/social_networks/SocialNetwork.java rename to src/refactoring_guru/behavioral/iterator/example/social_networks/SocialNetwork.java index 65597af..0e0cc86 100644 --- a/src/refactoring_guru/iterator/example/social_networks/SocialNetwork.java +++ b/src/refactoring_guru/behavioral/iterator/example/social_networks/SocialNetwork.java @@ -1,6 +1,6 @@ -package refactoring_guru.iterator.example.social_networks; +package refactoring_guru.behavioral.iterator.example.social_networks; -import refactoring_guru.iterator.example.iterators.ProfileIterator; +import refactoring_guru.behavioral.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/behavioral/iterator/example/spammer/SocialSpammer.java similarity index 78% rename from src/refactoring_guru/iterator/example/spammer/SocialSpammer.java rename to src/refactoring_guru/behavioral/iterator/example/spammer/SocialSpammer.java index 9e6c99a..fe910e8 100644 --- a/src/refactoring_guru/iterator/example/spammer/SocialSpammer.java +++ b/src/refactoring_guru/behavioral/iterator/example/spammer/SocialSpammer.java @@ -1,8 +1,8 @@ -package refactoring_guru.iterator.example.spammer; +package refactoring_guru.behavioral.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.behavioral.iterator.example.iterators.ProfileIterator; +import refactoring_guru.behavioral.iterator.example.profile.Profile; +import refactoring_guru.behavioral.iterator.example.social_networks.SocialNetwork; public class SocialSpammer { public SocialNetwork network; diff --git a/src/refactoring_guru/mediator/example/Demo.java b/src/refactoring_guru/behavioral/mediator/example/Demo.java similarity index 72% rename from src/refactoring_guru/mediator/example/Demo.java rename to src/refactoring_guru/behavioral/mediator/example/Demo.java index 14f5612..5358f66 100644 --- a/src/refactoring_guru/mediator/example/Demo.java +++ b/src/refactoring_guru/behavioral/mediator/example/Demo.java @@ -1,8 +1,8 @@ -package refactoring_guru.mediator.example; +package refactoring_guru.behavioral.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.behavioral.mediator.example.components.*; +import refactoring_guru.behavioral.mediator.example.mediator.Editor; +import refactoring_guru.behavioral.mediator.example.mediator.Mediator; import javax.swing.*; diff --git a/src/refactoring_guru/mediator/example/OutputDemo.png b/src/refactoring_guru/behavioral/mediator/example/OutputDemo.png similarity index 100% rename from src/refactoring_guru/mediator/example/OutputDemo.png rename to src/refactoring_guru/behavioral/mediator/example/OutputDemo.png diff --git a/src/refactoring_guru/mediator/example/components/AddButton.java b/src/refactoring_guru/behavioral/mediator/example/components/AddButton.java similarity index 81% rename from src/refactoring_guru/mediator/example/components/AddButton.java rename to src/refactoring_guru/behavioral/mediator/example/components/AddButton.java index 6c351d4..f0adb5f 100644 --- a/src/refactoring_guru/mediator/example/components/AddButton.java +++ b/src/refactoring_guru/behavioral/mediator/example/components/AddButton.java @@ -1,7 +1,7 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavioral.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; -import refactoring_guru.mediator.example.mediator.Note; +import refactoring_guru.behavioral.mediator.example.mediator.Mediator; +import refactoring_guru.behavioral.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/behavioral/mediator/example/components/Component.java similarity index 59% rename from src/refactoring_guru/mediator/example/components/Component.java rename to src/refactoring_guru/behavioral/mediator/example/components/Component.java index 780ff40..505fce4 100644 --- a/src/refactoring_guru/mediator/example/components/Component.java +++ b/src/refactoring_guru/behavioral/mediator/example/components/Component.java @@ -1,6 +1,6 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavioral.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; +import refactoring_guru.behavioral.mediator.example.mediator.Mediator; /** * EN: Common component interface. diff --git a/src/refactoring_guru/mediator/example/components/DeleteButton.java b/src/refactoring_guru/behavioral/mediator/example/components/DeleteButton.java similarity index 87% rename from src/refactoring_guru/mediator/example/components/DeleteButton.java rename to src/refactoring_guru/behavioral/mediator/example/components/DeleteButton.java index b9389a6..a8157fe 100644 --- a/src/refactoring_guru/mediator/example/components/DeleteButton.java +++ b/src/refactoring_guru/behavioral/mediator/example/components/DeleteButton.java @@ -1,6 +1,6 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavioral.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; +import refactoring_guru.behavioral.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/behavioral/mediator/example/components/Filter.java similarity index 89% rename from src/refactoring_guru/mediator/example/components/Filter.java rename to src/refactoring_guru/behavioral/mediator/example/components/Filter.java index c60aa0e..6282297 100644 --- a/src/refactoring_guru/mediator/example/components/Filter.java +++ b/src/refactoring_guru/behavioral/mediator/example/components/Filter.java @@ -1,7 +1,7 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavioral.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; -import refactoring_guru.mediator.example.mediator.Note; +import refactoring_guru.behavioral.mediator.example.mediator.Mediator; +import refactoring_guru.behavioral.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/behavioral/mediator/example/components/List.java similarity index 83% rename from src/refactoring_guru/mediator/example/components/List.java rename to src/refactoring_guru/behavioral/mediator/example/components/List.java index 3694ce6..48b2ddd 100644 --- a/src/refactoring_guru/mediator/example/components/List.java +++ b/src/refactoring_guru/behavioral/mediator/example/components/List.java @@ -1,7 +1,7 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavioral.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; -import refactoring_guru.mediator.example.mediator.Note; +import refactoring_guru.behavioral.mediator.example.mediator.Mediator; +import refactoring_guru.behavioral.mediator.example.mediator.Note; import javax.swing.*; @@ -57,7 +57,7 @@ public String getName() { } private class Hide implements Runnable { - private List list; + private final List list; Hide(List list) { this.list = list; @@ -71,11 +71,7 @@ public void run() { } catch (InterruptedException ex) { ex.printStackTrace(); } - if (list.isSelectionEmpty()) { - mediator.hideElements(true); - } else { - mediator.hideElements(false); - } + mediator.hideElements(list.isSelectionEmpty()); } } } diff --git a/src/refactoring_guru/mediator/example/components/SaveButton.java b/src/refactoring_guru/behavioral/mediator/example/components/SaveButton.java similarity index 87% rename from src/refactoring_guru/mediator/example/components/SaveButton.java rename to src/refactoring_guru/behavioral/mediator/example/components/SaveButton.java index 52f897f..e5d7718 100644 --- a/src/refactoring_guru/mediator/example/components/SaveButton.java +++ b/src/refactoring_guru/behavioral/mediator/example/components/SaveButton.java @@ -1,6 +1,6 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavioral.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; +import refactoring_guru.behavioral.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/behavioral/mediator/example/components/TextBox.java similarity index 86% rename from src/refactoring_guru/mediator/example/components/TextBox.java rename to src/refactoring_guru/behavioral/mediator/example/components/TextBox.java index fff5887..1feb0b4 100644 --- a/src/refactoring_guru/mediator/example/components/TextBox.java +++ b/src/refactoring_guru/behavioral/mediator/example/components/TextBox.java @@ -1,6 +1,6 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavioral.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; +import refactoring_guru.behavioral.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/behavioral/mediator/example/components/Title.java similarity index 86% rename from src/refactoring_guru/mediator/example/components/Title.java rename to src/refactoring_guru/behavioral/mediator/example/components/Title.java index 4f0e0b9..d1174c3 100644 --- a/src/refactoring_guru/mediator/example/components/Title.java +++ b/src/refactoring_guru/behavioral/mediator/example/components/Title.java @@ -1,6 +1,6 @@ -package refactoring_guru.mediator.example.components; +package refactoring_guru.behavioral.mediator.example.components; -import refactoring_guru.mediator.example.mediator.Mediator; +import refactoring_guru.behavioral.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/behavioral/mediator/example/mediator/Editor.java similarity index 92% rename from src/refactoring_guru/mediator/example/mediator/Editor.java rename to src/refactoring_guru/behavioral/mediator/example/mediator/Editor.java index d60ff2a..bba1b85 100644 --- a/src/refactoring_guru/mediator/example/mediator/Editor.java +++ b/src/refactoring_guru/behavioral/mediator/example/mediator/Editor.java @@ -1,8 +1,8 @@ -package refactoring_guru.mediator.example.mediator; +package refactoring_guru.behavioral.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.behavioral.mediator.example.components.*; +import refactoring_guru.behavioral.mediator.example.components.Component; +import refactoring_guru.behavioral.mediator.example.components.List; import javax.swing.*; import javax.swing.border.LineBorder; @@ -26,9 +26,9 @@ public class Editor implements Mediator { private List list; private Filter filter; - private JLabel titleLabel = new JLabel("Title:"); - private JLabel textLabel = new JLabel("Text:"); - private JLabel label = new JLabel("Add or select existing note to proceed..."); + private final JLabel titleLabel = new JLabel("Title:"); + private final JLabel textLabel = new JLabel("Text:"); + private final JLabel label = new JLabel("Add or select existing note to proceed..."); /** * EN: Here the registration of components by the mediator. diff --git a/src/refactoring_guru/mediator/example/mediator/Mediator.java b/src/refactoring_guru/behavioral/mediator/example/mediator/Mediator.java similarity index 78% rename from src/refactoring_guru/mediator/example/mediator/Mediator.java rename to src/refactoring_guru/behavioral/mediator/example/mediator/Mediator.java index 86806f5..72939ac 100644 --- a/src/refactoring_guru/mediator/example/mediator/Mediator.java +++ b/src/refactoring_guru/behavioral/mediator/example/mediator/Mediator.java @@ -1,6 +1,6 @@ -package refactoring_guru.mediator.example.mediator; +package refactoring_guru.behavioral.mediator.example.mediator; -import refactoring_guru.mediator.example.components.Component; +import refactoring_guru.behavioral.mediator.example.components.Component; import javax.swing.*; diff --git a/src/refactoring_guru/mediator/example/mediator/Note.java b/src/refactoring_guru/behavioral/mediator/example/mediator/Note.java similarity index 89% rename from src/refactoring_guru/mediator/example/mediator/Note.java rename to src/refactoring_guru/behavioral/mediator/example/mediator/Note.java index d727fef..088ce5b 100644 --- a/src/refactoring_guru/mediator/example/mediator/Note.java +++ b/src/refactoring_guru/behavioral/mediator/example/mediator/Note.java @@ -1,4 +1,4 @@ -package refactoring_guru.mediator.example.mediator; +package refactoring_guru.behavioral.mediator.example.mediator; /** * EN: Note class. diff --git a/src/refactoring_guru/memento/example/Demo.java b/src/refactoring_guru/behavioral/memento/example/Demo.java similarity index 65% rename from src/refactoring_guru/memento/example/Demo.java rename to src/refactoring_guru/behavioral/memento/example/Demo.java index da19c60..49894e2 100644 --- a/src/refactoring_guru/memento/example/Demo.java +++ b/src/refactoring_guru/behavioral/memento/example/Demo.java @@ -1,10 +1,10 @@ -package refactoring_guru.memento.example; +package refactoring_guru.behavioral.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.behavioral.memento.example.editor.Editor; +import refactoring_guru.behavioral.memento.example.shapes.Circle; +import refactoring_guru.behavioral.memento.example.shapes.CompoundShape; +import refactoring_guru.behavioral.memento.example.shapes.Dot; +import refactoring_guru.behavioral.memento.example.shapes.Rectangle; import java.awt.*; diff --git a/src/refactoring_guru/memento/example/OutputDemo.png b/src/refactoring_guru/behavioral/memento/example/OutputDemo.png similarity index 100% rename from src/refactoring_guru/memento/example/OutputDemo.png rename to src/refactoring_guru/behavioral/memento/example/OutputDemo.png diff --git a/src/refactoring_guru/memento/example/commands/ColorCommand.java b/src/refactoring_guru/behavioral/memento/example/commands/ColorCommand.java similarity index 63% rename from src/refactoring_guru/memento/example/commands/ColorCommand.java rename to src/refactoring_guru/behavioral/memento/example/commands/ColorCommand.java index 3c6d9a3..0408c37 100644 --- a/src/refactoring_guru/memento/example/commands/ColorCommand.java +++ b/src/refactoring_guru/behavioral/memento/example/commands/ColorCommand.java @@ -1,13 +1,13 @@ -package refactoring_guru.memento.example.commands; +package refactoring_guru.behavioral.memento.example.commands; -import refactoring_guru.memento.example.editor.Editor; -import refactoring_guru.memento.example.shapes.Shape; +import refactoring_guru.behavioral.memento.example.editor.Editor; +import refactoring_guru.behavioral.memento.example.shapes.Shape; import java.awt.*; public class ColorCommand implements Command { - private Editor editor; - private Color color; + private final Editor editor; + private final Color color; public ColorCommand(Editor editor, Color color) { this.editor = editor; diff --git a/src/refactoring_guru/memento/example/commands/Command.java b/src/refactoring_guru/behavioral/memento/example/commands/Command.java similarity index 53% rename from src/refactoring_guru/memento/example/commands/Command.java rename to src/refactoring_guru/behavioral/memento/example/commands/Command.java index 56e0997..8d71842 100644 --- a/src/refactoring_guru/memento/example/commands/Command.java +++ b/src/refactoring_guru/behavioral/memento/example/commands/Command.java @@ -1,4 +1,4 @@ -package refactoring_guru.memento.example.commands; +package refactoring_guru.behavioral.memento.example.commands; public interface Command { String getName(); diff --git a/src/refactoring_guru/memento/example/commands/MoveCommand.java b/src/refactoring_guru/behavioral/memento/example/commands/MoveCommand.java similarity index 81% rename from src/refactoring_guru/memento/example/commands/MoveCommand.java rename to src/refactoring_guru/behavioral/memento/example/commands/MoveCommand.java index f134c43..97d4282 100644 --- a/src/refactoring_guru/memento/example/commands/MoveCommand.java +++ b/src/refactoring_guru/behavioral/memento/example/commands/MoveCommand.java @@ -1,10 +1,10 @@ -package refactoring_guru.memento.example.commands; +package refactoring_guru.behavioral.memento.example.commands; -import refactoring_guru.memento.example.editor.Editor; -import refactoring_guru.memento.example.shapes.Shape; +import refactoring_guru.behavioral.memento.example.editor.Editor; +import refactoring_guru.behavioral.memento.example.shapes.Shape; public class MoveCommand implements Command { - private Editor editor; + private final Editor editor; private int startX, startY; private int endX, endY; diff --git a/src/refactoring_guru/memento/example/editor/Canvas.java b/src/refactoring_guru/behavioral/memento/example/editor/Canvas.java similarity index 94% rename from src/refactoring_guru/memento/example/editor/Canvas.java rename to src/refactoring_guru/behavioral/memento/example/editor/Canvas.java index 06105ed..f3727c6 100644 --- a/src/refactoring_guru/memento/example/editor/Canvas.java +++ b/src/refactoring_guru/behavioral/memento/example/editor/Canvas.java @@ -1,8 +1,8 @@ -package refactoring_guru.memento.example.editor; +package refactoring_guru.behavioral.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.behavioral.memento.example.commands.ColorCommand; +import refactoring_guru.behavioral.memento.example.commands.MoveCommand; +import refactoring_guru.behavioral.memento.example.shapes.Shape; import javax.swing.*; import javax.swing.border.Border; @@ -11,7 +11,7 @@ import java.awt.image.BufferedImage; class Canvas extends java.awt.Canvas { - private Editor editor; + private final Editor editor; private JFrame frame; private static final int PADDING = 10; diff --git a/src/refactoring_guru/memento/example/editor/Editor.java b/src/refactoring_guru/behavioral/memento/example/editor/Editor.java similarity index 78% rename from src/refactoring_guru/memento/example/editor/Editor.java rename to src/refactoring_guru/behavioral/memento/example/editor/Editor.java index 90f7dc6..439f1a2 100644 --- a/src/refactoring_guru/memento/example/editor/Editor.java +++ b/src/refactoring_guru/behavioral/memento/example/editor/Editor.java @@ -1,19 +1,19 @@ -package refactoring_guru.memento.example.editor; +package refactoring_guru.behavioral.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.behavioral.memento.example.commands.Command; +import refactoring_guru.behavioral.memento.example.history.History; +import refactoring_guru.behavioral.memento.example.history.Memento; +import refactoring_guru.behavioral.memento.example.shapes.CompoundShape; +import refactoring_guru.behavioral.memento.example.shapes.Shape; import javax.swing.*; import java.io.*; import java.util.Base64; public class Editor extends JComponent { - private Canvas canvas; + private final Canvas canvas; private CompoundShape allShapes = new CompoundShape(); - private History history; + private final History history; public Editor() { canvas = new Canvas(this); diff --git a/src/refactoring_guru/memento/example/history/History.java b/src/refactoring_guru/behavioral/memento/example/history/History.java similarity index 93% rename from src/refactoring_guru/memento/example/history/History.java rename to src/refactoring_guru/behavioral/memento/example/history/History.java index 90d6cbd..8573db0 100644 --- a/src/refactoring_guru/memento/example/history/History.java +++ b/src/refactoring_guru/behavioral/memento/example/history/History.java @@ -1,6 +1,6 @@ -package refactoring_guru.memento.example.history; +package refactoring_guru.behavioral.memento.example.history; -import refactoring_guru.memento.example.commands.Command; +import refactoring_guru.behavioral.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/behavioral/memento/example/history/Memento.java similarity index 51% rename from src/refactoring_guru/memento/example/history/Memento.java rename to src/refactoring_guru/behavioral/memento/example/history/Memento.java index 6800638..e2e9f3f 100644 --- a/src/refactoring_guru/memento/example/history/Memento.java +++ b/src/refactoring_guru/behavioral/memento/example/history/Memento.java @@ -1,10 +1,10 @@ -package refactoring_guru.memento.example.history; +package refactoring_guru.behavioral.memento.example.history; -import refactoring_guru.memento.example.editor.Editor; +import refactoring_guru.behavioral.memento.example.editor.Editor; public class Memento { - private String backup; - private Editor editor; + private final String backup; + private final Editor editor; public Memento(Editor editor) { this.editor = editor; diff --git a/src/refactoring_guru/memento/example/shapes/BaseShape.java b/src/refactoring_guru/behavioral/memento/example/shapes/BaseShape.java similarity index 97% rename from src/refactoring_guru/memento/example/shapes/BaseShape.java rename to src/refactoring_guru/behavioral/memento/example/shapes/BaseShape.java index 3433329..1f5efe5 100644 --- a/src/refactoring_guru/memento/example/shapes/BaseShape.java +++ b/src/refactoring_guru/behavioral/memento/example/shapes/BaseShape.java @@ -1,4 +1,4 @@ -package refactoring_guru.memento.example.shapes; +package refactoring_guru.behavioral.memento.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/memento/example/shapes/Circle.java b/src/refactoring_guru/behavioral/memento/example/shapes/Circle.java similarity index 84% rename from src/refactoring_guru/memento/example/shapes/Circle.java rename to src/refactoring_guru/behavioral/memento/example/shapes/Circle.java index 6400a50..5226f98 100644 --- a/src/refactoring_guru/memento/example/shapes/Circle.java +++ b/src/refactoring_guru/behavioral/memento/example/shapes/Circle.java @@ -1,9 +1,9 @@ -package refactoring_guru.memento.example.shapes; +package refactoring_guru.behavioral.memento.example.shapes; import java.awt.*; public class Circle extends BaseShape { - private int radius; + private final int radius; public Circle(int x, int y, int radius, Color color) { super(x, y, color); diff --git a/src/refactoring_guru/memento/example/shapes/CompoundShape.java b/src/refactoring_guru/behavioral/memento/example/shapes/CompoundShape.java similarity index 97% rename from src/refactoring_guru/memento/example/shapes/CompoundShape.java rename to src/refactoring_guru/behavioral/memento/example/shapes/CompoundShape.java index ba94a4b..d755619 100644 --- a/src/refactoring_guru/memento/example/shapes/CompoundShape.java +++ b/src/refactoring_guru/behavioral/memento/example/shapes/CompoundShape.java @@ -1,4 +1,4 @@ -package refactoring_guru.memento.example.shapes; +package refactoring_guru.behavioral.memento.example.shapes; import java.awt.*; import java.util.ArrayList; @@ -6,7 +6,7 @@ import java.util.List; public class CompoundShape extends BaseShape { - private List children = new ArrayList<>(); + private final List children = new ArrayList<>(); public CompoundShape(Shape... components) { super(0, 0, Color.BLACK); diff --git a/src/refactoring_guru/composite/example/shapes/Dot.java b/src/refactoring_guru/behavioral/memento/example/shapes/Dot.java similarity index 88% rename from src/refactoring_guru/composite/example/shapes/Dot.java rename to src/refactoring_guru/behavioral/memento/example/shapes/Dot.java index 205326a..591faab 100644 --- a/src/refactoring_guru/composite/example/shapes/Dot.java +++ b/src/refactoring_guru/behavioral/memento/example/shapes/Dot.java @@ -1,4 +1,4 @@ -package refactoring_guru.composite.example.shapes; +package refactoring_guru.behavioral.memento.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/memento/example/shapes/Rectangle.java b/src/refactoring_guru/behavioral/memento/example/shapes/Rectangle.java similarity index 81% rename from src/refactoring_guru/memento/example/shapes/Rectangle.java rename to src/refactoring_guru/behavioral/memento/example/shapes/Rectangle.java index 76aa5e8..8a04eb0 100644 --- a/src/refactoring_guru/memento/example/shapes/Rectangle.java +++ b/src/refactoring_guru/behavioral/memento/example/shapes/Rectangle.java @@ -1,10 +1,10 @@ -package refactoring_guru.memento.example.shapes; +package refactoring_guru.behavioral.memento.example.shapes; import java.awt.*; public class Rectangle extends BaseShape { - private int width; - private int height; + private final int width; + private final int height; public Rectangle(int x, int y, int width, int height, Color color) { super(x, y, color); diff --git a/src/refactoring_guru/memento/example/shapes/Shape.java b/src/refactoring_guru/behavioral/memento/example/shapes/Shape.java similarity index 88% rename from src/refactoring_guru/memento/example/shapes/Shape.java rename to src/refactoring_guru/behavioral/memento/example/shapes/Shape.java index 90d078d..7813ceb 100644 --- a/src/refactoring_guru/memento/example/shapes/Shape.java +++ b/src/refactoring_guru/behavioral/memento/example/shapes/Shape.java @@ -1,4 +1,4 @@ -package refactoring_guru.memento.example.shapes; +package refactoring_guru.behavioral.memento.example.shapes; import java.awt.*; import java.io.Serializable; diff --git a/src/refactoring_guru/observer/example/Demo.java b/src/refactoring_guru/behavioral/observer/example/Demo.java similarity index 61% rename from src/refactoring_guru/observer/example/Demo.java rename to src/refactoring_guru/behavioral/observer/example/Demo.java index 7d399c0..0963c48 100644 --- a/src/refactoring_guru/observer/example/Demo.java +++ b/src/refactoring_guru/behavioral/observer/example/Demo.java @@ -1,8 +1,8 @@ -package refactoring_guru.observer.example; +package refactoring_guru.behavioral.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.behavioral.observer.example.editor.Editor; +import refactoring_guru.behavioral.observer.example.listeners.EmailNotificationListener; +import refactoring_guru.behavioral.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/behavioral/observer/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/observer/example/OutputDemo.txt rename to src/refactoring_guru/behavioral/observer/example/OutputDemo.txt diff --git a/src/refactoring_guru/observer/example/editor/Editor.java b/src/refactoring_guru/behavioral/observer/example/editor/Editor.java similarity index 79% rename from src/refactoring_guru/observer/example/editor/Editor.java rename to src/refactoring_guru/behavioral/observer/example/editor/Editor.java index f373045..a84bb12 100644 --- a/src/refactoring_guru/observer/example/editor/Editor.java +++ b/src/refactoring_guru/behavioral/observer/example/editor/Editor.java @@ -1,6 +1,6 @@ -package refactoring_guru.observer.example.editor; +package refactoring_guru.behavioral.observer.example.editor; -import refactoring_guru.observer.example.publisher.EventManager; +import refactoring_guru.behavioral.observer.example.publisher.EventManager; import java.io.File; diff --git a/src/refactoring_guru/observer/example/listeners/EmailNotificationListener.java b/src/refactoring_guru/behavioral/observer/example/listeners/EmailNotificationListener.java similarity index 80% rename from src/refactoring_guru/observer/example/listeners/EmailNotificationListener.java rename to src/refactoring_guru/behavioral/observer/example/listeners/EmailNotificationListener.java index efd3f9d..dbbbf86 100644 --- a/src/refactoring_guru/observer/example/listeners/EmailNotificationListener.java +++ b/src/refactoring_guru/behavioral/observer/example/listeners/EmailNotificationListener.java @@ -1,9 +1,9 @@ -package refactoring_guru.observer.example.listeners; +package refactoring_guru.behavioral.observer.example.listeners; import java.io.File; public class EmailNotificationListener implements EventListener { - private String email; + private final String email; public EmailNotificationListener(String email) { this.email = email; diff --git a/src/refactoring_guru/observer/example/listeners/EventListener.java b/src/refactoring_guru/behavioral/observer/example/listeners/EventListener.java similarity index 61% rename from src/refactoring_guru/observer/example/listeners/EventListener.java rename to src/refactoring_guru/behavioral/observer/example/listeners/EventListener.java index a996b3a..8f59241 100644 --- a/src/refactoring_guru/observer/example/listeners/EventListener.java +++ b/src/refactoring_guru/behavioral/observer/example/listeners/EventListener.java @@ -1,4 +1,4 @@ -package refactoring_guru.observer.example.listeners; +package refactoring_guru.behavioral.observer.example.listeners; import java.io.File; diff --git a/src/refactoring_guru/observer/example/listeners/LogOpenListener.java b/src/refactoring_guru/behavioral/observer/example/listeners/LogOpenListener.java similarity index 81% rename from src/refactoring_guru/observer/example/listeners/LogOpenListener.java rename to src/refactoring_guru/behavioral/observer/example/listeners/LogOpenListener.java index 180470b..16d696c 100644 --- a/src/refactoring_guru/observer/example/listeners/LogOpenListener.java +++ b/src/refactoring_guru/behavioral/observer/example/listeners/LogOpenListener.java @@ -1,9 +1,9 @@ -package refactoring_guru.observer.example.listeners; +package refactoring_guru.behavioral.observer.example.listeners; import java.io.File; public class LogOpenListener implements EventListener { - private File log; + private final File log; public LogOpenListener(String fileName) { this.log = new File(fileName); diff --git a/src/refactoring_guru/observer/example/publisher/EventManager.java b/src/refactoring_guru/behavioral/observer/example/publisher/EventManager.java similarity index 87% rename from src/refactoring_guru/observer/example/publisher/EventManager.java rename to src/refactoring_guru/behavioral/observer/example/publisher/EventManager.java index 2918ba1..14a31a6 100644 --- a/src/refactoring_guru/observer/example/publisher/EventManager.java +++ b/src/refactoring_guru/behavioral/observer/example/publisher/EventManager.java @@ -1,6 +1,6 @@ -package refactoring_guru.observer.example.publisher; +package refactoring_guru.behavioral.observer.example.publisher; -import refactoring_guru.observer.example.listeners.EventListener; +import refactoring_guru.behavioral.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/behavioral/state/example/Demo.java similarity index 64% rename from src/refactoring_guru/state/example/Demo.java rename to src/refactoring_guru/behavioral/state/example/Demo.java index 03b89dd..f5ca1ac 100644 --- a/src/refactoring_guru/state/example/Demo.java +++ b/src/refactoring_guru/behavioral/state/example/Demo.java @@ -1,7 +1,7 @@ -package refactoring_guru.state.example; +package refactoring_guru.behavioral.state.example; -import refactoring_guru.state.example.ui.Player; -import refactoring_guru.state.example.ui.UI; +import refactoring_guru.behavioral.state.example.ui.Player; +import refactoring_guru.behavioral.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/behavioral/state/example/OutputDemo.png similarity index 100% rename from src/refactoring_guru/state/example/OutputDemo.png rename to src/refactoring_guru/behavioral/state/example/OutputDemo.png diff --git a/src/refactoring_guru/state/example/states/LockedState.java b/src/refactoring_guru/behavioral/state/example/states/LockedState.java similarity index 88% rename from src/refactoring_guru/state/example/states/LockedState.java rename to src/refactoring_guru/behavioral/state/example/states/LockedState.java index 1dde3f1..0faec51 100644 --- a/src/refactoring_guru/state/example/states/LockedState.java +++ b/src/refactoring_guru/behavioral/state/example/states/LockedState.java @@ -1,6 +1,6 @@ -package refactoring_guru.state.example.states; +package refactoring_guru.behavioral.state.example.states; -import refactoring_guru.state.example.ui.Player; +import refactoring_guru.behavioral.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/behavioral/state/example/states/PlayingState.java similarity index 83% rename from src/refactoring_guru/state/example/states/PlayingState.java rename to src/refactoring_guru/behavioral/state/example/states/PlayingState.java index 8b42e70..27d9b05 100644 --- a/src/refactoring_guru/state/example/states/PlayingState.java +++ b/src/refactoring_guru/behavioral/state/example/states/PlayingState.java @@ -1,6 +1,6 @@ -package refactoring_guru.state.example.states; +package refactoring_guru.behavioral.state.example.states; -import refactoring_guru.state.example.ui.Player; +import refactoring_guru.behavioral.state.example.ui.Player; public class PlayingState extends State { diff --git a/src/refactoring_guru/state/example/states/ReadyState.java b/src/refactoring_guru/behavioral/state/example/states/ReadyState.java similarity index 86% rename from src/refactoring_guru/state/example/states/ReadyState.java rename to src/refactoring_guru/behavioral/state/example/states/ReadyState.java index c27e138..edb91ae 100644 --- a/src/refactoring_guru/state/example/states/ReadyState.java +++ b/src/refactoring_guru/behavioral/state/example/states/ReadyState.java @@ -1,6 +1,6 @@ -package refactoring_guru.state.example.states; +package refactoring_guru.behavioral.state.example.states; -import refactoring_guru.state.example.ui.Player; +import refactoring_guru.behavioral.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/behavioral/state/example/states/State.java similarity index 87% rename from src/refactoring_guru/state/example/states/State.java rename to src/refactoring_guru/behavioral/state/example/states/State.java index 8263cf9..b937781 100644 --- a/src/refactoring_guru/state/example/states/State.java +++ b/src/refactoring_guru/behavioral/state/example/states/State.java @@ -1,6 +1,6 @@ -package refactoring_guru.state.example.states; +package refactoring_guru.behavioral.state.example.states; -import refactoring_guru.state.example.ui.Player; +import refactoring_guru.behavioral.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/behavioral/state/example/ui/Player.java similarity index 83% rename from src/refactoring_guru/state/example/ui/Player.java rename to src/refactoring_guru/behavioral/state/example/ui/Player.java index c8b7cb7..89b9102 100644 --- a/src/refactoring_guru/state/example/ui/Player.java +++ b/src/refactoring_guru/behavioral/state/example/ui/Player.java @@ -1,7 +1,7 @@ -package refactoring_guru.state.example.ui; +package refactoring_guru.behavioral.state.example.ui; -import refactoring_guru.state.example.states.ReadyState; -import refactoring_guru.state.example.states.State; +import refactoring_guru.behavioral.state.example.states.ReadyState; +import refactoring_guru.behavioral.state.example.states.State; import java.util.ArrayList; import java.util.List; @@ -9,7 +9,7 @@ public class Player { private State state; private boolean playing = false; - private List playlist = new ArrayList<>(); + private final List playlist = new ArrayList<>(); private int currentTrack = 0; public Player() { diff --git a/src/refactoring_guru/state/example/ui/UI.java b/src/refactoring_guru/behavioral/state/example/ui/UI.java similarity index 92% rename from src/refactoring_guru/state/example/ui/UI.java rename to src/refactoring_guru/behavioral/state/example/ui/UI.java index 9f66146..010296a 100644 --- a/src/refactoring_guru/state/example/ui/UI.java +++ b/src/refactoring_guru/behavioral/state/example/ui/UI.java @@ -1,11 +1,11 @@ -package refactoring_guru.state.example.ui; +package refactoring_guru.behavioral.state.example.ui; import javax.swing.*; import java.awt.*; public class UI { - private Player player; - private static JTextField textField = new JTextField(); + private final Player player; + private static final JTextField textField = new JTextField(); public UI(Player player) { this.player = player; diff --git a/src/refactoring_guru/strategy/example/Demo.java b/src/refactoring_guru/behavioral/strategy/example/Demo.java similarity index 85% rename from src/refactoring_guru/strategy/example/Demo.java rename to src/refactoring_guru/behavioral/strategy/example/Demo.java index 5182c15..9147cff 100644 --- a/src/refactoring_guru/strategy/example/Demo.java +++ b/src/refactoring_guru/behavioral/strategy/example/Demo.java @@ -1,9 +1,9 @@ -package refactoring_guru.strategy.example; +package refactoring_guru.behavioral.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.behavioral.strategy.example.order.Order; +import refactoring_guru.behavioral.strategy.example.strategies.PayByCreditCard; +import refactoring_guru.behavioral.strategy.example.strategies.PayByPayPal; +import refactoring_guru.behavioral.strategy.example.strategies.PayStrategy; import java.io.BufferedReader; import java.io.IOException; @@ -17,9 +17,9 @@ * RU: Первый в мире консольный интерет магазин. */ public class Demo { - private static Map priceOnProducts = new HashMap<>(); - private static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); - private static Order order = new Order(); + private static final Map priceOnProducts = new HashMap<>(); + private static final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); + private static final Order order = new Order(); private static PayStrategy strategy; static { diff --git a/src/refactoring_guru/strategy/example/OutputDemo.txt b/src/refactoring_guru/behavioral/strategy/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/strategy/example/OutputDemo.txt rename to src/refactoring_guru/behavioral/strategy/example/OutputDemo.txt diff --git a/src/refactoring_guru/strategy/example/order/Order.java b/src/refactoring_guru/behavioral/strategy/example/order/Order.java similarity index 90% rename from src/refactoring_guru/strategy/example/order/Order.java rename to src/refactoring_guru/behavioral/strategy/example/order/Order.java index f8695c7..d9397de 100644 --- a/src/refactoring_guru/strategy/example/order/Order.java +++ b/src/refactoring_guru/behavioral/strategy/example/order/Order.java @@ -1,6 +1,6 @@ -package refactoring_guru.strategy.example.order; +package refactoring_guru.behavioral.strategy.example.order; -import refactoring_guru.strategy.example.strategies.PayStrategy; +import refactoring_guru.behavioral.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/behavioral/strategy/example/strategies/CreditCard.java similarity index 75% rename from src/refactoring_guru/strategy/example/strategies/CreditCard.java rename to src/refactoring_guru/behavioral/strategy/example/strategies/CreditCard.java index 20a09d5..2b5096a 100644 --- a/src/refactoring_guru/strategy/example/strategies/CreditCard.java +++ b/src/refactoring_guru/behavioral/strategy/example/strategies/CreditCard.java @@ -1,4 +1,4 @@ -package refactoring_guru.strategy.example.strategies; +package refactoring_guru.behavioral.strategy.example.strategies; /** * EN: Dummy credit card class. @@ -7,9 +7,9 @@ */ public class CreditCard { private int amount; - private String number; - private String date; - private String cvv; + private final String number; + private final String date; + private final String cvv; CreditCard(String number, String date, String cvv) { this.amount = 100_000; diff --git a/src/refactoring_guru/strategy/example/strategies/PayByCreditCard.java b/src/refactoring_guru/behavioral/strategy/example/strategies/PayByCreditCard.java similarity index 96% rename from src/refactoring_guru/strategy/example/strategies/PayByCreditCard.java rename to src/refactoring_guru/behavioral/strategy/example/strategies/PayByCreditCard.java index 8deea76..4b6250b 100644 --- a/src/refactoring_guru/strategy/example/strategies/PayByCreditCard.java +++ b/src/refactoring_guru/behavioral/strategy/example/strategies/PayByCreditCard.java @@ -1,4 +1,4 @@ -package refactoring_guru.strategy.example.strategies; +package refactoring_guru.behavioral.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/behavioral/strategy/example/strategies/PayByPayPal.java similarity index 97% rename from src/refactoring_guru/strategy/example/strategies/PayByPayPal.java rename to src/refactoring_guru/behavioral/strategy/example/strategies/PayByPayPal.java index fe6b963..cf61142 100644 --- a/src/refactoring_guru/strategy/example/strategies/PayByPayPal.java +++ b/src/refactoring_guru/behavioral/strategy/example/strategies/PayByPayPal.java @@ -1,4 +1,4 @@ -package refactoring_guru.strategy.example.strategies; +package refactoring_guru.behavioral.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/behavioral/strategy/example/strategies/PayStrategy.java similarity index 77% rename from src/refactoring_guru/strategy/example/strategies/PayStrategy.java rename to src/refactoring_guru/behavioral/strategy/example/strategies/PayStrategy.java index 45a20c9..ee960ae 100644 --- a/src/refactoring_guru/strategy/example/strategies/PayStrategy.java +++ b/src/refactoring_guru/behavioral/strategy/example/strategies/PayStrategy.java @@ -1,4 +1,4 @@ -package refactoring_guru.strategy.example.strategies; +package refactoring_guru.behavioral.strategy.example.strategies; /** * EN: Common interface for all strategies. diff --git a/src/refactoring_guru/template_method/example/Demo.java b/src/refactoring_guru/behavioral/template_method/example/Demo.java similarity index 82% rename from src/refactoring_guru/template_method/example/Demo.java rename to src/refactoring_guru/behavioral/template_method/example/Demo.java index dd2735c..88c14e7 100644 --- a/src/refactoring_guru/template_method/example/Demo.java +++ b/src/refactoring_guru/behavioral/template_method/example/Demo.java @@ -1,8 +1,8 @@ -package refactoring_guru.template_method.example; +package refactoring_guru.behavioral.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.behavioral.template_method.example.networks.Facebook; +import refactoring_guru.behavioral.template_method.example.networks.Network; +import refactoring_guru.behavioral.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/behavioral/template_method/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/template_method/example/OutputDemo.txt rename to src/refactoring_guru/behavioral/template_method/example/OutputDemo.txt diff --git a/src/refactoring_guru/template_method/example/networks/Facebook.java b/src/refactoring_guru/behavioral/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/behavioral/template_method/example/networks/Facebook.java index 740b59e..8068940 100644 --- a/src/refactoring_guru/template_method/example/networks/Facebook.java +++ b/src/refactoring_guru/behavioral/template_method/example/networks/Facebook.java @@ -1,4 +1,4 @@ -package refactoring_guru.template_method.example.networks; +package refactoring_guru.behavioral.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/behavioral/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/behavioral/template_method/example/networks/Network.java index 1d85461..803fece 100644 --- a/src/refactoring_guru/template_method/example/networks/Network.java +++ b/src/refactoring_guru/behavioral/template_method/example/networks/Network.java @@ -1,4 +1,4 @@ -package refactoring_guru.template_method.example.networks; +package refactoring_guru.behavioral.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/behavioral/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/behavioral/template_method/example/networks/Twitter.java index d5eae2a..960ae41 100644 --- a/src/refactoring_guru/template_method/example/networks/Twitter.java +++ b/src/refactoring_guru/behavioral/template_method/example/networks/Twitter.java @@ -1,4 +1,4 @@ -package refactoring_guru.template_method.example.networks; +package refactoring_guru.behavioral.template_method.example.networks; /** * EN: Class of social network diff --git a/src/refactoring_guru/visitor/example/Demo.java b/src/refactoring_guru/behavioral/visitor/example/Demo.java similarity index 78% rename from src/refactoring_guru/visitor/example/Demo.java rename to src/refactoring_guru/behavioral/visitor/example/Demo.java index 7effa76..c6e65d0 100644 --- a/src/refactoring_guru/visitor/example/Demo.java +++ b/src/refactoring_guru/behavioral/visitor/example/Demo.java @@ -1,7 +1,7 @@ -package refactoring_guru.visitor.example; +package refactoring_guru.behavioral.visitor.example; -import refactoring_guru.visitor.example.shapes.*; -import refactoring_guru.visitor.example.visitor.XMLExportVisitor; +import refactoring_guru.behavioral.visitor.example.shapes.*; +import refactoring_guru.behavioral.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/behavioral/visitor/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/visitor/example/OutputDemo.txt rename to src/refactoring_guru/behavioral/visitor/example/OutputDemo.txt diff --git a/src/refactoring_guru/visitor/example/shapes/Circle.java b/src/refactoring_guru/behavioral/visitor/example/shapes/Circle.java similarity index 66% rename from src/refactoring_guru/visitor/example/shapes/Circle.java rename to src/refactoring_guru/behavioral/visitor/example/shapes/Circle.java index 908a388..c38207e 100644 --- a/src/refactoring_guru/visitor/example/shapes/Circle.java +++ b/src/refactoring_guru/behavioral/visitor/example/shapes/Circle.java @@ -1,9 +1,9 @@ -package refactoring_guru.visitor.example.shapes; +package refactoring_guru.behavioral.visitor.example.shapes; -import refactoring_guru.visitor.example.visitor.Visitor; +import refactoring_guru.behavioral.visitor.example.visitor.Visitor; public class Circle extends Dot { - private int radius; + private final int radius; public Circle(int id, int x, int y, int radius) { super(id, x, y); diff --git a/src/refactoring_guru/visitor/example/shapes/CompoundShape.java b/src/refactoring_guru/behavioral/visitor/example/shapes/CompoundShape.java similarity index 82% rename from src/refactoring_guru/visitor/example/shapes/CompoundShape.java rename to src/refactoring_guru/behavioral/visitor/example/shapes/CompoundShape.java index bd8b32b..5edc335 100644 --- a/src/refactoring_guru/visitor/example/shapes/CompoundShape.java +++ b/src/refactoring_guru/behavioral/visitor/example/shapes/CompoundShape.java @@ -1,6 +1,6 @@ -package refactoring_guru.visitor.example.shapes; +package refactoring_guru.behavioral.visitor.example.shapes; -import refactoring_guru.visitor.example.visitor.Visitor; +import refactoring_guru.behavioral.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/behavioral/visitor/example/shapes/Dot.java similarity index 83% rename from src/refactoring_guru/visitor/example/shapes/Dot.java rename to src/refactoring_guru/behavioral/visitor/example/shapes/Dot.java index 5e37a85..1fc0546 100644 --- a/src/refactoring_guru/visitor/example/shapes/Dot.java +++ b/src/refactoring_guru/behavioral/visitor/example/shapes/Dot.java @@ -1,6 +1,6 @@ -package refactoring_guru.visitor.example.shapes; +package refactoring_guru.behavioral.visitor.example.shapes; -import refactoring_guru.visitor.example.visitor.Visitor; +import refactoring_guru.behavioral.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/behavioral/visitor/example/shapes/Rectangle.java similarity index 74% rename from src/refactoring_guru/visitor/example/shapes/Rectangle.java rename to src/refactoring_guru/behavioral/visitor/example/shapes/Rectangle.java index d439065..12625f5 100644 --- a/src/refactoring_guru/visitor/example/shapes/Rectangle.java +++ b/src/refactoring_guru/behavioral/visitor/example/shapes/Rectangle.java @@ -1,13 +1,13 @@ -package refactoring_guru.visitor.example.shapes; +package refactoring_guru.behavioral.visitor.example.shapes; -import refactoring_guru.visitor.example.visitor.Visitor; +import refactoring_guru.behavioral.visitor.example.visitor.Visitor; public class Rectangle implements Shape { - private int id; - private int x; - private int y; - private int width; - private int height; + private final int id; + private final int x; + private final int y; + private final int width; + private final int height; public Rectangle(int id, int x, int y, int width, int height) { this.id = id; diff --git a/src/refactoring_guru/behavioral/visitor/example/shapes/Shape.java b/src/refactoring_guru/behavioral/visitor/example/shapes/Shape.java new file mode 100644 index 0000000..b13dbd8 --- /dev/null +++ b/src/refactoring_guru/behavioral/visitor/example/shapes/Shape.java @@ -0,0 +1,9 @@ +package refactoring_guru.behavioral.visitor.example.shapes; + +import refactoring_guru.behavioral.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/behavioral/visitor/example/visitor/Visitor.java b/src/refactoring_guru/behavioral/visitor/example/visitor/Visitor.java new file mode 100644 index 0000000..721a5f9 --- /dev/null +++ b/src/refactoring_guru/behavioral/visitor/example/visitor/Visitor.java @@ -0,0 +1,16 @@ +package refactoring_guru.behavioral.visitor.example.visitor; + +import refactoring_guru.behavioral.visitor.example.shapes.Circle; +import refactoring_guru.behavioral.visitor.example.shapes.CompoundShape; +import refactoring_guru.behavioral.visitor.example.shapes.Dot; +import refactoring_guru.behavioral.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/behavioral/visitor/example/visitor/XMLExportVisitor.java similarity index 94% rename from src/refactoring_guru/visitor/example/visitor/XMLExportVisitor.java rename to src/refactoring_guru/behavioral/visitor/example/visitor/XMLExportVisitor.java index a1e41e8..868dee1 100644 --- a/src/refactoring_guru/visitor/example/visitor/XMLExportVisitor.java +++ b/src/refactoring_guru/behavioral/visitor/example/visitor/XMLExportVisitor.java @@ -1,6 +1,6 @@ -package refactoring_guru.visitor.example.visitor; +package refactoring_guru.behavioral.visitor.example.visitor; -import refactoring_guru.visitor.example.shapes.*; +import refactoring_guru.behavioral.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/creational/abstract_factory/Demo.java similarity index 75% rename from src/refactoring_guru/abstract_factory/example/Demo.java rename to src/refactoring_guru/creational/abstract_factory/Demo.java index e732848..33bf47f 100644 --- a/src/refactoring_guru/abstract_factory/example/Demo.java +++ b/src/refactoring_guru/creational/abstract_factory/Demo.java @@ -1,9 +1,9 @@ -package refactoring_guru.abstract_factory.example; +package refactoring_guru.creational.abstract_factory; -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.creational.abstract_factory.app.Application; +import refactoring_guru.creational.abstract_factory.factories.GUIFactory; +import refactoring_guru.creational.abstract_factory.factories.MacOSFactory; +import refactoring_guru.creational.abstract_factory.factories.WindowsFactory; /** * EN: Demo class. Everything comes together here. diff --git a/src/refactoring_guru/abstract_factory/example/OutputDemo.txt b/src/refactoring_guru/creational/abstract_factory/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/abstract_factory/example/OutputDemo.txt rename to src/refactoring_guru/creational/abstract_factory/OutputDemo.txt diff --git a/src/refactoring_guru/abstract_factory/example/app/Application.java b/src/refactoring_guru/creational/abstract_factory/app/Application.java similarity index 67% rename from src/refactoring_guru/abstract_factory/example/app/Application.java rename to src/refactoring_guru/creational/abstract_factory/app/Application.java index 06db4e9..aa394e4 100644 --- a/src/refactoring_guru/abstract_factory/example/app/Application.java +++ b/src/refactoring_guru/creational/abstract_factory/app/Application.java @@ -1,8 +1,8 @@ -package refactoring_guru.abstract_factory.example.app; +package refactoring_guru.creational.abstract_factory.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.creational.abstract_factory.buttons.Button; +import refactoring_guru.creational.abstract_factory.checkboxes.Checkbox; +import refactoring_guru.creational.abstract_factory.factories.GUIFactory; /** * EN: Factory users don't care which concrete factory they use since they work @@ -13,8 +13,8 @@ * интерфейс. */ public class Application { - private Button button; - private Checkbox checkbox; + private final Button button; + private final Checkbox checkbox; public Application(GUIFactory factory) { button = factory.createButton(); diff --git a/src/refactoring_guru/abstract_factory/example/buttons/Button.java b/src/refactoring_guru/creational/abstract_factory/buttons/Button.java similarity index 92% rename from src/refactoring_guru/abstract_factory/example/buttons/Button.java rename to src/refactoring_guru/creational/abstract_factory/buttons/Button.java index ce81a4f..4b03c44 100644 --- a/src/refactoring_guru/abstract_factory/example/buttons/Button.java +++ b/src/refactoring_guru/creational/abstract_factory/buttons/Button.java @@ -1,4 +1,4 @@ -package refactoring_guru.abstract_factory.example.buttons; +package refactoring_guru.creational.abstract_factory.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/creational/abstract_factory/buttons/MacOSButton.java similarity index 87% rename from src/refactoring_guru/abstract_factory/example/buttons/MacOSButton.java rename to src/refactoring_guru/creational/abstract_factory/buttons/MacOSButton.java index 23734f4..5cdaa35 100644 --- a/src/refactoring_guru/abstract_factory/example/buttons/MacOSButton.java +++ b/src/refactoring_guru/creational/abstract_factory/buttons/MacOSButton.java @@ -1,4 +1,4 @@ -package refactoring_guru.abstract_factory.example.buttons; +package refactoring_guru.creational.abstract_factory.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/creational/abstract_factory/buttons/WindowsButton.java similarity index 88% rename from src/refactoring_guru/abstract_factory/example/buttons/WindowsButton.java rename to src/refactoring_guru/creational/abstract_factory/buttons/WindowsButton.java index 00a8990..7cb2cbd 100644 --- a/src/refactoring_guru/abstract_factory/example/buttons/WindowsButton.java +++ b/src/refactoring_guru/creational/abstract_factory/buttons/WindowsButton.java @@ -1,4 +1,4 @@ -package refactoring_guru.abstract_factory.example.buttons; +package refactoring_guru.creational.abstract_factory.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/creational/abstract_factory/checkboxes/Checkbox.java similarity index 82% rename from src/refactoring_guru/abstract_factory/example/checkboxes/Checkbox.java rename to src/refactoring_guru/creational/abstract_factory/checkboxes/Checkbox.java index df6853a..ac932a0 100644 --- a/src/refactoring_guru/abstract_factory/example/checkboxes/Checkbox.java +++ b/src/refactoring_guru/creational/abstract_factory/checkboxes/Checkbox.java @@ -1,4 +1,4 @@ -package refactoring_guru.abstract_factory.example.checkboxes; +package refactoring_guru.creational.abstract_factory.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/creational/abstract_factory/checkboxes/MacOSCheckbox.java similarity index 87% rename from src/refactoring_guru/abstract_factory/example/checkboxes/MacOSCheckbox.java rename to src/refactoring_guru/creational/abstract_factory/checkboxes/MacOSCheckbox.java index 22d5445..3372764 100644 --- a/src/refactoring_guru/abstract_factory/example/checkboxes/MacOSCheckbox.java +++ b/src/refactoring_guru/creational/abstract_factory/checkboxes/MacOSCheckbox.java @@ -1,4 +1,4 @@ -package refactoring_guru.abstract_factory.example.checkboxes; +package refactoring_guru.creational.abstract_factory.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/creational/abstract_factory/checkboxes/WindowsCheckbox.java similarity index 87% rename from src/refactoring_guru/abstract_factory/example/checkboxes/WindowsCheckbox.java rename to src/refactoring_guru/creational/abstract_factory/checkboxes/WindowsCheckbox.java index e5387b4..e3b1289 100644 --- a/src/refactoring_guru/abstract_factory/example/checkboxes/WindowsCheckbox.java +++ b/src/refactoring_guru/creational/abstract_factory/checkboxes/WindowsCheckbox.java @@ -1,4 +1,4 @@ -package refactoring_guru.abstract_factory.example.checkboxes; +package refactoring_guru.creational.abstract_factory.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/creational/abstract_factory/factories/GUIFactory.java similarity index 59% rename from src/refactoring_guru/abstract_factory/example/factories/GUIFactory.java rename to src/refactoring_guru/creational/abstract_factory/factories/GUIFactory.java index 80708ef..771ab2a 100644 --- a/src/refactoring_guru/abstract_factory/example/factories/GUIFactory.java +++ b/src/refactoring_guru/creational/abstract_factory/factories/GUIFactory.java @@ -1,7 +1,7 @@ -package refactoring_guru.abstract_factory.example.factories; +package refactoring_guru.creational.abstract_factory.factories; -import refactoring_guru.abstract_factory.example.buttons.Button; -import refactoring_guru.abstract_factory.example.checkboxes.Checkbox; +import refactoring_guru.creational.abstract_factory.buttons.Button; +import refactoring_guru.creational.abstract_factory.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/creational/abstract_factory/factories/MacOSFactory.java similarity index 58% rename from src/refactoring_guru/abstract_factory/example/factories/MacOSFactory.java rename to src/refactoring_guru/creational/abstract_factory/factories/MacOSFactory.java index 2b957ec..8e15ce3 100644 --- a/src/refactoring_guru/abstract_factory/example/factories/MacOSFactory.java +++ b/src/refactoring_guru/creational/abstract_factory/factories/MacOSFactory.java @@ -1,9 +1,9 @@ -package refactoring_guru.abstract_factory.example.factories; +package refactoring_guru.creational.abstract_factory.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.creational.abstract_factory.buttons.Button; +import refactoring_guru.creational.abstract_factory.buttons.MacOSButton; +import refactoring_guru.creational.abstract_factory.checkboxes.Checkbox; +import refactoring_guru.creational.abstract_factory.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/creational/abstract_factory/factories/WindowsFactory.java similarity index 58% rename from src/refactoring_guru/abstract_factory/example/factories/WindowsFactory.java rename to src/refactoring_guru/creational/abstract_factory/factories/WindowsFactory.java index d3475b3..ddae11e 100644 --- a/src/refactoring_guru/abstract_factory/example/factories/WindowsFactory.java +++ b/src/refactoring_guru/creational/abstract_factory/factories/WindowsFactory.java @@ -1,9 +1,9 @@ -package refactoring_guru.abstract_factory.example.factories; +package refactoring_guru.creational.abstract_factory.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.creational.abstract_factory.buttons.Button; +import refactoring_guru.creational.abstract_factory.buttons.WindowsButton; +import refactoring_guru.creational.abstract_factory.checkboxes.Checkbox; +import refactoring_guru.creational.abstract_factory.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/creational/builder/example/Demo.java similarity index 82% rename from src/refactoring_guru/builder/example/Demo.java rename to src/refactoring_guru/creational/builder/example/Demo.java index 6d3f348..b8fef4a 100644 --- a/src/refactoring_guru/builder/example/Demo.java +++ b/src/refactoring_guru/creational/builder/example/Demo.java @@ -1,10 +1,10 @@ -package refactoring_guru.builder.example; +package refactoring_guru.creational.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.creational.builder.example.builders.CarBuilder; +import refactoring_guru.creational.builder.example.builders.CarManualBuilder; +import refactoring_guru.creational.builder.example.cars.Car; +import refactoring_guru.creational.builder.example.cars.Manual; +import refactoring_guru.creational.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/creational/builder/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/builder/example/OutputDemo.txt rename to src/refactoring_guru/creational/builder/example/OutputDemo.txt diff --git a/src/refactoring_guru/builder/example/builders/Builder.java b/src/refactoring_guru/creational/builder/example/builders/Builder.java similarity index 55% rename from src/refactoring_guru/builder/example/builders/Builder.java rename to src/refactoring_guru/creational/builder/example/builders/Builder.java index f81dd60..f15429a 100644 --- a/src/refactoring_guru/builder/example/builders/Builder.java +++ b/src/refactoring_guru/creational/builder/example/builders/Builder.java @@ -1,10 +1,10 @@ -package refactoring_guru.builder.example.builders; +package refactoring_guru.creational.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.creational.builder.example.cars.CarType; +import refactoring_guru.creational.builder.example.components.Engine; +import refactoring_guru.creational.builder.example.components.GPSNavigator; +import refactoring_guru.creational.builder.example.components.Transmission; +import refactoring_guru.creational.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/creational/builder/example/builders/CarBuilder.java similarity index 71% rename from src/refactoring_guru/builder/example/builders/CarBuilder.java rename to src/refactoring_guru/creational/builder/example/builders/CarBuilder.java index 2f618f3..72a0a5f 100644 --- a/src/refactoring_guru/builder/example/builders/CarBuilder.java +++ b/src/refactoring_guru/creational/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.creational.builder.example.builders; + +import refactoring_guru.creational.builder.example.cars.Car; +import refactoring_guru.creational.builder.example.cars.CarType; +import refactoring_guru.creational.builder.example.components.Engine; +import refactoring_guru.creational.builder.example.components.GPSNavigator; +import refactoring_guru.creational.builder.example.components.Transmission; +import refactoring_guru.creational.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/creational/builder/example/builders/CarManualBuilder.java similarity index 80% rename from src/refactoring_guru/builder/example/builders/CarManualBuilder.java rename to src/refactoring_guru/creational/builder/example/builders/CarManualBuilder.java index 48ad164..367f1ab 100644 --- a/src/refactoring_guru/builder/example/builders/CarManualBuilder.java +++ b/src/refactoring_guru/creational/builder/example/builders/CarManualBuilder.java @@ -1,11 +1,11 @@ -package refactoring_guru.builder.example.builders; +package refactoring_guru.creational.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.creational.builder.example.cars.Manual; +import refactoring_guru.creational.builder.example.cars.CarType; +import refactoring_guru.creational.builder.example.components.Engine; +import refactoring_guru.creational.builder.example.components.GPSNavigator; +import refactoring_guru.creational.builder.example.components.Transmission; +import refactoring_guru.creational.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/creational/builder/example/cars/Car.java similarity index 79% rename from src/refactoring_guru/builder/example/cars/Car.java rename to src/refactoring_guru/creational/builder/example/cars/Car.java index e4b6d23..80e43d1 100644 --- a/src/refactoring_guru/builder/example/cars/Car.java +++ b/src/refactoring_guru/creational/builder/example/cars/Car.java @@ -1,9 +1,9 @@ -package refactoring_guru.builder.example.cars; +package refactoring_guru.creational.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.creational.builder.example.components.Engine; +import refactoring_guru.creational.builder.example.components.GPSNavigator; +import refactoring_guru.creational.builder.example.components.Transmission; +import refactoring_guru.creational.builder.example.components.TripComputer; /** * EN: Car is a product class. diff --git a/src/refactoring_guru/creational/builder/example/cars/CarType.java b/src/refactoring_guru/creational/builder/example/cars/CarType.java new file mode 100644 index 0000000..e1cc598 --- /dev/null +++ b/src/refactoring_guru/creational/builder/example/cars/CarType.java @@ -0,0 +1,5 @@ +package refactoring_guru.creational.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/creational/builder/example/cars/Manual.java similarity index 83% rename from src/refactoring_guru/builder/example/cars/Manual.java rename to src/refactoring_guru/creational/builder/example/cars/Manual.java index 466ea8d..85fb19b 100644 --- a/src/refactoring_guru/builder/example/cars/Manual.java +++ b/src/refactoring_guru/creational/builder/example/cars/Manual.java @@ -1,9 +1,9 @@ -package refactoring_guru.builder.example.cars; +package refactoring_guru.creational.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.creational.builder.example.components.Engine; +import refactoring_guru.creational.builder.example.components.GPSNavigator; +import refactoring_guru.creational.builder.example.components.Transmission; +import refactoring_guru.creational.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/creational/builder/example/components/Engine.java similarity index 92% rename from src/refactoring_guru/builder/example/components/Engine.java rename to src/refactoring_guru/creational/builder/example/components/Engine.java index 41956cc..d5c5a77 100644 --- a/src/refactoring_guru/builder/example/components/Engine.java +++ b/src/refactoring_guru/creational/builder/example/components/Engine.java @@ -1,4 +1,4 @@ -package refactoring_guru.builder.example.components; +package refactoring_guru.creational.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/creational/builder/example/components/GPSNavigator.java similarity index 80% rename from src/refactoring_guru/builder/example/components/GPSNavigator.java rename to src/refactoring_guru/creational/builder/example/components/GPSNavigator.java index 68f4cc1..d18a5ca 100644 --- a/src/refactoring_guru/builder/example/components/GPSNavigator.java +++ b/src/refactoring_guru/creational/builder/example/components/GPSNavigator.java @@ -1,4 +1,4 @@ -package refactoring_guru.builder.example.components; +package refactoring_guru.creational.builder.example.components; /** * EN: Just another feature of a car. @@ -6,7 +6,7 @@ * RU: Одна из фишек автомобиля. */ public class GPSNavigator { - private String route; + private final String route; public GPSNavigator() { this.route = "221b, Baker Street, London to Scotland Yard, 8-10 Broadway, London"; diff --git a/src/refactoring_guru/builder/example/components/Transmission.java b/src/refactoring_guru/creational/builder/example/components/Transmission.java similarity index 74% rename from src/refactoring_guru/builder/example/components/Transmission.java rename to src/refactoring_guru/creational/builder/example/components/Transmission.java index 2815235..58529f1 100644 --- a/src/refactoring_guru/builder/example/components/Transmission.java +++ b/src/refactoring_guru/creational/builder/example/components/Transmission.java @@ -1,4 +1,4 @@ -package refactoring_guru.builder.example.components; +package refactoring_guru.creational.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/creational/builder/example/components/TripComputer.java similarity index 81% rename from src/refactoring_guru/builder/example/components/TripComputer.java rename to src/refactoring_guru/creational/builder/example/components/TripComputer.java index 5617845..36c6a0f 100644 --- a/src/refactoring_guru/builder/example/components/TripComputer.java +++ b/src/refactoring_guru/creational/builder/example/components/TripComputer.java @@ -1,6 +1,6 @@ -package refactoring_guru.builder.example.components; +package refactoring_guru.creational.builder.example.components; -import refactoring_guru.builder.example.cars.Car; +import refactoring_guru.creational.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/creational/builder/example/director/Director.java similarity index 76% rename from src/refactoring_guru/builder/example/director/Director.java rename to src/refactoring_guru/creational/builder/example/director/Director.java index f5f8284..0546c14 100644 --- a/src/refactoring_guru/builder/example/director/Director.java +++ b/src/refactoring_guru/creational/builder/example/director/Director.java @@ -1,11 +1,11 @@ -package refactoring_guru.builder.example.director; +package refactoring_guru.creational.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.creational.builder.example.builders.Builder; +import refactoring_guru.creational.builder.example.cars.CarType; +import refactoring_guru.creational.builder.example.components.Engine; +import refactoring_guru.creational.builder.example.components.GPSNavigator; +import refactoring_guru.creational.builder.example.components.Transmission; +import refactoring_guru.creational.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/creational/factory_method/example/Demo.java similarity index 82% rename from src/refactoring_guru/factory_method/example/Demo.java rename to src/refactoring_guru/creational/factory_method/example/Demo.java index dde90cf..abca97f 100644 --- a/src/refactoring_guru/factory_method/example/Demo.java +++ b/src/refactoring_guru/creational/factory_method/example/Demo.java @@ -1,8 +1,8 @@ -package refactoring_guru.factory_method.example; +package refactoring_guru.creational.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.creational.factory_method.example.factory.Dialog; +import refactoring_guru.creational.factory_method.example.factory.HtmlDialog; +import refactoring_guru.creational.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/creational/factory_method/example/OutputDemo.png similarity index 100% rename from src/refactoring_guru/factory_method/example/OutputDemo.png rename to src/refactoring_guru/creational/factory_method/example/OutputDemo.png diff --git a/src/refactoring_guru/factory_method/example/OutputDemo.txt b/src/refactoring_guru/creational/factory_method/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/factory_method/example/OutputDemo.txt rename to src/refactoring_guru/creational/factory_method/example/OutputDemo.txt diff --git a/src/refactoring_guru/factory_method/example/buttons/Button.java b/src/refactoring_guru/creational/factory_method/example/buttons/Button.java similarity index 73% rename from src/refactoring_guru/factory_method/example/buttons/Button.java rename to src/refactoring_guru/creational/factory_method/example/buttons/Button.java index 02bef0f..57968e2 100644 --- a/src/refactoring_guru/factory_method/example/buttons/Button.java +++ b/src/refactoring_guru/creational/factory_method/example/buttons/Button.java @@ -1,4 +1,4 @@ -package refactoring_guru.factory_method.example.buttons; +package refactoring_guru.creational.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/creational/factory_method/example/buttons/HtmlButton.java similarity index 83% rename from src/refactoring_guru/factory_method/example/buttons/HtmlButton.java rename to src/refactoring_guru/creational/factory_method/example/buttons/HtmlButton.java index ee44f0b..1cfed61 100644 --- a/src/refactoring_guru/factory_method/example/buttons/HtmlButton.java +++ b/src/refactoring_guru/creational/factory_method/example/buttons/HtmlButton.java @@ -1,4 +1,4 @@ -package refactoring_guru.factory_method.example.buttons; +package refactoring_guru.creational.factory_method.example.buttons; /** * EN: HTML button implementation. diff --git a/src/refactoring_guru/factory_method/example/buttons/WindowsButton.java b/src/refactoring_guru/creational/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/creational/factory_method/example/buttons/WindowsButton.java index 5ad5a03..5d36066 100644 --- a/src/refactoring_guru/factory_method/example/buttons/WindowsButton.java +++ b/src/refactoring_guru/creational/factory_method/example/buttons/WindowsButton.java @@ -1,4 +1,4 @@ -package refactoring_guru.factory_method.example.buttons; +package refactoring_guru.creational.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/creational/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/creational/factory_method/example/factory/Dialog.java index 3e6fcc3..6027c56 100644 --- a/src/refactoring_guru/factory_method/example/factory/Dialog.java +++ b/src/refactoring_guru/creational/factory_method/example/factory/Dialog.java @@ -1,6 +1,6 @@ -package refactoring_guru.factory_method.example.factory; +package refactoring_guru.creational.factory_method.example.factory; -import refactoring_guru.factory_method.example.buttons.Button; +import refactoring_guru.creational.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/creational/factory_method/example/factory/HtmlDialog.java b/src/refactoring_guru/creational/factory_method/example/factory/HtmlDialog.java new file mode 100644 index 0000000..e77828a --- /dev/null +++ b/src/refactoring_guru/creational/factory_method/example/factory/HtmlDialog.java @@ -0,0 +1,17 @@ +package refactoring_guru.creational.factory_method.example.factory; + +import refactoring_guru.creational.factory_method.example.buttons.Button; +import refactoring_guru.creational.factory_method.example.buttons.HtmlButton; + +/** + * EN: HTML Dialog will produce HTML buttons. + * + * RU: HTML-диалог. + */ +public class HtmlDialog extends Dialog { + + @Override + public Button createButton() { + return new HtmlButton(); + } +} diff --git a/src/refactoring_guru/factory_method/example/factory/WindowsDialog.java b/src/refactoring_guru/creational/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/creational/factory_method/example/factory/WindowsDialog.java index 3dd8f51..def71c5 100644 --- a/src/refactoring_guru/factory_method/example/factory/WindowsDialog.java +++ b/src/refactoring_guru/creational/factory_method/example/factory/WindowsDialog.java @@ -1,7 +1,7 @@ -package refactoring_guru.factory_method.example.factory; +package refactoring_guru.creational.factory_method.example.factory; -import refactoring_guru.factory_method.example.buttons.Button; -import refactoring_guru.factory_method.example.buttons.WindowsButton; +import refactoring_guru.creational.factory_method.example.buttons.Button; +import refactoring_guru.creational.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/creational/prototype/caching/Demo.java similarity index 83% rename from src/refactoring_guru/prototype/caching/Demo.java rename to src/refactoring_guru/creational/prototype/caching/Demo.java index 5cad2ed..85ed14b 100644 --- a/src/refactoring_guru/prototype/caching/Demo.java +++ b/src/refactoring_guru/creational/prototype/caching/Demo.java @@ -1,7 +1,7 @@ -package refactoring_guru.prototype.caching; +package refactoring_guru.creational.prototype.caching; -import refactoring_guru.prototype.caching.cache.BundledShapeCache; -import refactoring_guru.prototype.example.shapes.Shape; +import refactoring_guru.creational.prototype.caching.cache.BundledShapeCache; +import refactoring_guru.creational.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/creational/prototype/caching/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/prototype/caching/OutputDemo.txt rename to src/refactoring_guru/creational/prototype/caching/OutputDemo.txt diff --git a/src/refactoring_guru/prototype/caching/cache/BundledShapeCache.java b/src/refactoring_guru/creational/prototype/caching/cache/BundledShapeCache.java similarity index 69% rename from src/refactoring_guru/prototype/caching/cache/BundledShapeCache.java rename to src/refactoring_guru/creational/prototype/caching/cache/BundledShapeCache.java index cd67746..1ff82d4 100644 --- a/src/refactoring_guru/prototype/caching/cache/BundledShapeCache.java +++ b/src/refactoring_guru/creational/prototype/caching/cache/BundledShapeCache.java @@ -1,14 +1,14 @@ -package refactoring_guru.prototype.caching.cache; +package refactoring_guru.creational.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.creational.prototype.example.shapes.Circle; +import refactoring_guru.creational.prototype.example.shapes.Rectangle; +import refactoring_guru.creational.prototype.example.shapes.Shape; import java.util.HashMap; import java.util.Map; public class BundledShapeCache { - private Map cache = new HashMap<>(); + private final Map cache = new HashMap<>(); public BundledShapeCache() { Circle circle = new Circle(); diff --git a/src/refactoring_guru/prototype/example/Demo.java b/src/refactoring_guru/creational/prototype/example/Demo.java similarity index 84% rename from src/refactoring_guru/prototype/example/Demo.java rename to src/refactoring_guru/creational/prototype/example/Demo.java index c02a2cd..c8d822b 100644 --- a/src/refactoring_guru/prototype/example/Demo.java +++ b/src/refactoring_guru/creational/prototype/example/Demo.java @@ -1,8 +1,8 @@ -package refactoring_guru.prototype.example; +package refactoring_guru.creational.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.creational.prototype.example.shapes.Circle; +import refactoring_guru.creational.prototype.example.shapes.Rectangle; +import refactoring_guru.creational.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/creational/prototype/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/prototype/example/OutputDemo.txt rename to src/refactoring_guru/creational/prototype/example/OutputDemo.txt diff --git a/src/refactoring_guru/prototype/example/shapes/Circle.java b/src/refactoring_guru/creational/prototype/example/shapes/Circle.java similarity index 70% rename from src/refactoring_guru/prototype/example/shapes/Circle.java rename to src/refactoring_guru/creational/prototype/example/shapes/Circle.java index 074e178..a10b73d 100644 --- a/src/refactoring_guru/prototype/example/shapes/Circle.java +++ b/src/refactoring_guru/creational/prototype/example/shapes/Circle.java @@ -1,4 +1,4 @@ -package refactoring_guru.prototype.example.shapes; +package refactoring_guru.creational.prototype.example.shapes; public class Circle extends Shape { public int radius; @@ -20,8 +20,7 @@ public Shape clone() { @Override public boolean equals(Object object2) { - if (!(object2 instanceof Circle) || !super.equals(object2)) return false; - Circle shape2 = (Circle) object2; + if (!(object2 instanceof Circle shape2) || !super.equals(object2)) return false; return shape2.radius == radius; } } diff --git a/src/refactoring_guru/prototype/example/shapes/Rectangle.java b/src/refactoring_guru/creational/prototype/example/shapes/Rectangle.java similarity index 74% rename from src/refactoring_guru/prototype/example/shapes/Rectangle.java rename to src/refactoring_guru/creational/prototype/example/shapes/Rectangle.java index 4adbf0e..bd95a2c 100644 --- a/src/refactoring_guru/prototype/example/shapes/Rectangle.java +++ b/src/refactoring_guru/creational/prototype/example/shapes/Rectangle.java @@ -1,4 +1,4 @@ -package refactoring_guru.prototype.example.shapes; +package refactoring_guru.creational.prototype.example.shapes; public class Rectangle extends Shape { public int width; @@ -22,8 +22,7 @@ public Shape clone() { @Override public boolean equals(Object object2) { - if (!(object2 instanceof Rectangle) || !super.equals(object2)) return false; - Rectangle shape2 = (Rectangle) object2; + if (!(object2 instanceof Rectangle shape2) || !super.equals(object2)) return false; return shape2.width == width && shape2.height == height; } } diff --git a/src/refactoring_guru/prototype/example/shapes/Shape.java b/src/refactoring_guru/creational/prototype/example/shapes/Shape.java similarity index 77% rename from src/refactoring_guru/prototype/example/shapes/Shape.java rename to src/refactoring_guru/creational/prototype/example/shapes/Shape.java index 6893a3f..457aa92 100644 --- a/src/refactoring_guru/prototype/example/shapes/Shape.java +++ b/src/refactoring_guru/creational/prototype/example/shapes/Shape.java @@ -1,4 +1,4 @@ -package refactoring_guru.prototype.example.shapes; +package refactoring_guru.creational.prototype.example.shapes; import java.util.Objects; @@ -22,8 +22,7 @@ public Shape(Shape target) { @Override public boolean equals(Object object2) { - if (!(object2 instanceof Shape)) return false; - Shape shape2 = (Shape) object2; + if (!(object2 instanceof Shape shape2)) return false; return shape2.x == x && shape2.y == y && Objects.equals(shape2.color, color); } } diff --git a/src/refactoring_guru/singleton/example/non_thread_safe/DemoMultiThread.java b/src/refactoring_guru/creational/singleton/example/non_thread_safe/DemoMultiThread.java similarity index 92% rename from src/refactoring_guru/singleton/example/non_thread_safe/DemoMultiThread.java rename to src/refactoring_guru/creational/singleton/example/non_thread_safe/DemoMultiThread.java index 848534b..e47075e 100644 --- a/src/refactoring_guru/singleton/example/non_thread_safe/DemoMultiThread.java +++ b/src/refactoring_guru/creational/singleton/example/non_thread_safe/DemoMultiThread.java @@ -1,4 +1,4 @@ -package refactoring_guru.singleton.example.non_thread_safe; +package refactoring_guru.creational.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/creational/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/creational/singleton/example/non_thread_safe/DemoSingleThread.java index 6aba849..b409aa4 100644 --- a/src/refactoring_guru/singleton/example/non_thread_safe/DemoSingleThread.java +++ b/src/refactoring_guru/creational/singleton/example/non_thread_safe/DemoSingleThread.java @@ -1,4 +1,4 @@ -package refactoring_guru.singleton.example.non_thread_safe; +package refactoring_guru.creational.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/creational/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/creational/singleton/example/non_thread_safe/OutputDemoMultiThread.txt diff --git a/src/refactoring_guru/singleton/example/non_thread_safe/OutputDemoSingleThread.txt b/src/refactoring_guru/creational/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/creational/singleton/example/non_thread_safe/OutputDemoSingleThread.txt diff --git a/src/refactoring_guru/singleton/example/non_thread_safe/Singleton.java b/src/refactoring_guru/creational/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/creational/singleton/example/non_thread_safe/Singleton.java index d091303..0a4e814 100644 --- a/src/refactoring_guru/singleton/example/non_thread_safe/Singleton.java +++ b/src/refactoring_guru/creational/singleton/example/non_thread_safe/Singleton.java @@ -1,4 +1,4 @@ -package refactoring_guru.singleton.example.non_thread_safe; +package refactoring_guru.creational.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/creational/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/creational/singleton/example/thread_safe/DemoMultiThread.java index a0fd882..d5a1e94 100644 --- a/src/refactoring_guru/singleton/example/thread_safe/DemoMultiThread.java +++ b/src/refactoring_guru/creational/singleton/example/thread_safe/DemoMultiThread.java @@ -1,4 +1,4 @@ -package refactoring_guru.singleton.example.thread_safe; +package refactoring_guru.creational.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/creational/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/creational/singleton/example/thread_safe/OutputDemoMultiThread.txt diff --git a/src/refactoring_guru/singleton/example/thread_safe/Singleton.java b/src/refactoring_guru/creational/singleton/example/thread_safe/Singleton.java similarity index 97% rename from src/refactoring_guru/singleton/example/thread_safe/Singleton.java rename to src/refactoring_guru/creational/singleton/example/thread_safe/Singleton.java index 95b8365..b858227 100644 --- a/src/refactoring_guru/singleton/example/thread_safe/Singleton.java +++ b/src/refactoring_guru/creational/singleton/example/thread_safe/Singleton.java @@ -1,4 +1,4 @@ -package refactoring_guru.singleton.example.thread_safe; +package refactoring_guru.creational.singleton.example.thread_safe; public final class Singleton { // EN: The field must be declared volatile so that double check lock would 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/factory_method/example/factory/HtmlDialog.java b/src/refactoring_guru/factory_method/example/factory/HtmlDialog.java deleted file mode 100644 index ceaac8b..0000000 --- a/src/refactoring_guru/factory_method/example/factory/HtmlDialog.java +++ /dev/null @@ -1,17 +0,0 @@ -package refactoring_guru.factory_method.example.factory; - -import refactoring_guru.factory_method.example.buttons.Button; -import refactoring_guru.factory_method.example.buttons.HtmlButton; - -/** - * EN: HTML Dialog will produce HTML buttons. - * - * RU: HTML-диалог. - */ -public class HtmlDialog extends Dialog { - - @Override - public Button createButton() { - return new HtmlButton(); - } -} 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/structural/adapter/example/Demo.java similarity index 79% rename from src/refactoring_guru/adapter/example/Demo.java rename to src/refactoring_guru/structural/adapter/example/Demo.java index e886891..280e6a3 100644 --- a/src/refactoring_guru/adapter/example/Demo.java +++ b/src/refactoring_guru/structural/adapter/example/Demo.java @@ -1,9 +1,9 @@ -package refactoring_guru.adapter.example; +package refactoring_guru.structural.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.structural.adapter.example.adapters.SquarePegAdapter; +import refactoring_guru.structural.adapter.example.round.RoundHole; +import refactoring_guru.structural.adapter.example.round.RoundPeg; +import refactoring_guru.structural.adapter.example.square.SquarePeg; /** * EN: Somewhere in client code... diff --git a/src/refactoring_guru/adapter/example/OutputDemo.txt b/src/refactoring_guru/structural/adapter/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/adapter/example/OutputDemo.txt rename to src/refactoring_guru/structural/adapter/example/OutputDemo.txt diff --git a/src/refactoring_guru/adapter/example/adapters/SquarePegAdapter.java b/src/refactoring_guru/structural/adapter/example/adapters/SquarePegAdapter.java similarity index 76% rename from src/refactoring_guru/adapter/example/adapters/SquarePegAdapter.java rename to src/refactoring_guru/structural/adapter/example/adapters/SquarePegAdapter.java index 7f9dfff..87f74e4 100644 --- a/src/refactoring_guru/adapter/example/adapters/SquarePegAdapter.java +++ b/src/refactoring_guru/structural/adapter/example/adapters/SquarePegAdapter.java @@ -1,7 +1,7 @@ -package refactoring_guru.adapter.example.adapters; +package refactoring_guru.structural.adapter.example.adapters; -import refactoring_guru.adapter.example.round.RoundPeg; -import refactoring_guru.adapter.example.square.SquarePeg; +import refactoring_guru.structural.adapter.example.round.RoundPeg; +import refactoring_guru.structural.adapter.example.square.SquarePeg; /** * EN: Adapter allows fitting square pegs into round holes. @@ -10,7 +10,7 @@ * вместе. */ public class SquarePegAdapter extends RoundPeg { - private SquarePeg peg; + private final SquarePeg peg; public SquarePegAdapter(SquarePeg peg) { this.peg = peg; diff --git a/src/refactoring_guru/adapter/example/round/RoundHole.java b/src/refactoring_guru/structural/adapter/example/round/RoundHole.java similarity index 83% rename from src/refactoring_guru/adapter/example/round/RoundHole.java rename to src/refactoring_guru/structural/adapter/example/round/RoundHole.java index 35b2025..198cdfe 100644 --- a/src/refactoring_guru/adapter/example/round/RoundHole.java +++ b/src/refactoring_guru/structural/adapter/example/round/RoundHole.java @@ -1,4 +1,4 @@ -package refactoring_guru.adapter.example.round; +package refactoring_guru.structural.adapter.example.round; /** * EN: RoundHoles are compatible with RoundPegs. @@ -6,7 +6,7 @@ * RU: КруглоеОтверстие совместимо с КруглымиКолышками. */ public class RoundHole { - private double radius; + private final double radius; public RoundHole(double radius) { this.radius = radius; diff --git a/src/refactoring_guru/adapter/example/round/RoundPeg.java b/src/refactoring_guru/structural/adapter/example/round/RoundPeg.java similarity index 86% rename from src/refactoring_guru/adapter/example/round/RoundPeg.java rename to src/refactoring_guru/structural/adapter/example/round/RoundPeg.java index d103827..a623d52 100644 --- a/src/refactoring_guru/adapter/example/round/RoundPeg.java +++ b/src/refactoring_guru/structural/adapter/example/round/RoundPeg.java @@ -1,4 +1,4 @@ -package refactoring_guru.adapter.example.round; +package refactoring_guru.structural.adapter.example.round; /** * EN: RoundPegs are compatible with RoundHoles. diff --git a/src/refactoring_guru/adapter/example/square/SquarePeg.java b/src/refactoring_guru/structural/adapter/example/square/SquarePeg.java similarity index 89% rename from src/refactoring_guru/adapter/example/square/SquarePeg.java rename to src/refactoring_guru/structural/adapter/example/square/SquarePeg.java index 57221a2..37c60d6 100644 --- a/src/refactoring_guru/adapter/example/square/SquarePeg.java +++ b/src/refactoring_guru/structural/adapter/example/square/SquarePeg.java @@ -1,4 +1,4 @@ -package refactoring_guru.adapter.example.square; +package refactoring_guru.structural.adapter.example.square; /** * EN: SquarePegs are not compatible with RoundHoles (they were implemented by @@ -9,7 +9,7 @@ * нашу систему. */ public class SquarePeg { - private double width; + private final double width; public SquarePeg(double width) { this.width = width; diff --git a/src/refactoring_guru/bridge/example/Demo.java b/src/refactoring_guru/structural/bridge/example/Demo.java similarity index 60% rename from src/refactoring_guru/bridge/example/Demo.java rename to src/refactoring_guru/structural/bridge/example/Demo.java index 6ce44d0..06e4a46 100644 --- a/src/refactoring_guru/bridge/example/Demo.java +++ b/src/refactoring_guru/structural/bridge/example/Demo.java @@ -1,10 +1,10 @@ -package refactoring_guru.bridge.example; +package refactoring_guru.structural.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.structural.bridge.example.devices.Device; +import refactoring_guru.structural.bridge.example.devices.Radio; +import refactoring_guru.structural.bridge.example.devices.Tv; +import refactoring_guru.structural.bridge.example.remotes.AdvancedRemote; +import refactoring_guru.structural.bridge.example.remotes.BasicRemote; public class Demo { public static void main(String[] args) { diff --git a/src/refactoring_guru/bridge/example/OutputDemo.txt b/src/refactoring_guru/structural/bridge/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/bridge/example/OutputDemo.txt rename to src/refactoring_guru/structural/bridge/example/OutputDemo.txt diff --git a/src/refactoring_guru/bridge/example/devices/Device.java b/src/refactoring_guru/structural/bridge/example/devices/Device.java similarity index 79% rename from src/refactoring_guru/bridge/example/devices/Device.java rename to src/refactoring_guru/structural/bridge/example/devices/Device.java index 1520dd3..2e02d31 100644 --- a/src/refactoring_guru/bridge/example/devices/Device.java +++ b/src/refactoring_guru/structural/bridge/example/devices/Device.java @@ -1,4 +1,4 @@ -package refactoring_guru.bridge.example.devices; +package refactoring_guru.structural.bridge.example.devices; public interface Device { boolean isEnabled(); diff --git a/src/refactoring_guru/bridge/example/devices/Radio.java b/src/refactoring_guru/structural/bridge/example/devices/Radio.java similarity index 95% rename from src/refactoring_guru/bridge/example/devices/Radio.java rename to src/refactoring_guru/structural/bridge/example/devices/Radio.java index b0b227a..2929248 100644 --- a/src/refactoring_guru/bridge/example/devices/Radio.java +++ b/src/refactoring_guru/structural/bridge/example/devices/Radio.java @@ -1,4 +1,4 @@ -package refactoring_guru.bridge.example.devices; +package refactoring_guru.structural.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/structural/bridge/example/devices/Tv.java similarity index 95% rename from src/refactoring_guru/bridge/example/devices/Tv.java rename to src/refactoring_guru/structural/bridge/example/devices/Tv.java index b3705cd..d966920 100644 --- a/src/refactoring_guru/bridge/example/devices/Tv.java +++ b/src/refactoring_guru/structural/bridge/example/devices/Tv.java @@ -1,4 +1,4 @@ -package refactoring_guru.bridge.example.devices; +package refactoring_guru.structural.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/structural/bridge/example/remotes/AdvancedRemote.java similarity index 65% rename from src/refactoring_guru/bridge/example/remotes/AdvancedRemote.java rename to src/refactoring_guru/structural/bridge/example/remotes/AdvancedRemote.java index 17c7155..6cc4dd3 100644 --- a/src/refactoring_guru/bridge/example/remotes/AdvancedRemote.java +++ b/src/refactoring_guru/structural/bridge/example/remotes/AdvancedRemote.java @@ -1,6 +1,6 @@ -package refactoring_guru.bridge.example.remotes; +package refactoring_guru.structural.bridge.example.remotes; -import refactoring_guru.bridge.example.devices.Device; +import refactoring_guru.structural.bridge.example.devices.Device; public class AdvancedRemote extends BasicRemote { diff --git a/src/refactoring_guru/bridge/example/remotes/BasicRemote.java b/src/refactoring_guru/structural/bridge/example/remotes/BasicRemote.java similarity index 88% rename from src/refactoring_guru/bridge/example/remotes/BasicRemote.java rename to src/refactoring_guru/structural/bridge/example/remotes/BasicRemote.java index 5f9dcb4..77a75fb 100644 --- a/src/refactoring_guru/bridge/example/remotes/BasicRemote.java +++ b/src/refactoring_guru/structural/bridge/example/remotes/BasicRemote.java @@ -1,6 +1,6 @@ -package refactoring_guru.bridge.example.remotes; +package refactoring_guru.structural.bridge.example.remotes; -import refactoring_guru.bridge.example.devices.Device; +import refactoring_guru.structural.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/structural/bridge/example/remotes/Remote.java similarity index 70% rename from src/refactoring_guru/bridge/example/remotes/Remote.java rename to src/refactoring_guru/structural/bridge/example/remotes/Remote.java index 0f5e78b..ec36683 100644 --- a/src/refactoring_guru/bridge/example/remotes/Remote.java +++ b/src/refactoring_guru/structural/bridge/example/remotes/Remote.java @@ -1,4 +1,4 @@ -package refactoring_guru.bridge.example.remotes; +package refactoring_guru.structural.bridge.example.remotes; public interface Remote { void power(); diff --git a/src/refactoring_guru/composite/example/Demo.java b/src/refactoring_guru/structural/composite/example/Demo.java similarity index 64% rename from src/refactoring_guru/composite/example/Demo.java rename to src/refactoring_guru/structural/composite/example/Demo.java index 0e27c73..a40e236 100644 --- a/src/refactoring_guru/composite/example/Demo.java +++ b/src/refactoring_guru/structural/composite/example/Demo.java @@ -1,10 +1,10 @@ -package refactoring_guru.composite.example; +package refactoring_guru.structural.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.structural.composite.example.editor.ImageEditor; +import refactoring_guru.structural.composite.example.shapes.Circle; +import refactoring_guru.structural.composite.example.shapes.CompoundShape; +import refactoring_guru.structural.composite.example.shapes.Dot; +import refactoring_guru.structural.composite.example.shapes.Rectangle; import java.awt.*; diff --git a/src/refactoring_guru/composite/example/OutputDemo.png b/src/refactoring_guru/structural/composite/example/OutputDemo.png similarity index 100% rename from src/refactoring_guru/composite/example/OutputDemo.png rename to src/refactoring_guru/structural/composite/example/OutputDemo.png diff --git a/src/refactoring_guru/composite/example/editor/ImageEditor.java b/src/refactoring_guru/structural/composite/example/editor/ImageEditor.java similarity index 86% rename from src/refactoring_guru/composite/example/editor/ImageEditor.java rename to src/refactoring_guru/structural/composite/example/editor/ImageEditor.java index dfc7277..91ddf26 100644 --- a/src/refactoring_guru/composite/example/editor/ImageEditor.java +++ b/src/refactoring_guru/structural/composite/example/editor/ImageEditor.java @@ -1,7 +1,7 @@ -package refactoring_guru.composite.example.editor; +package refactoring_guru.structural.composite.example.editor; -import refactoring_guru.composite.example.shapes.CompoundShape; -import refactoring_guru.composite.example.shapes.Shape; +import refactoring_guru.structural.composite.example.shapes.CompoundShape; +import refactoring_guru.structural.composite.example.shapes.Shape; import javax.swing.*; import javax.swing.border.Border; @@ -10,8 +10,8 @@ import java.awt.event.MouseEvent; public class ImageEditor { - private EditorCanvas canvas; - private CompoundShape allShapes = new CompoundShape(); + private final EditorCanvas canvas; + private final CompoundShape allShapes = new CompoundShape(); public ImageEditor() { canvas = new EditorCanvas(); diff --git a/src/refactoring_guru/composite/example/shapes/BaseShape.java b/src/refactoring_guru/structural/composite/example/shapes/BaseShape.java similarity index 96% rename from src/refactoring_guru/composite/example/shapes/BaseShape.java rename to src/refactoring_guru/structural/composite/example/shapes/BaseShape.java index f0f5552..d7e8a5f 100644 --- a/src/refactoring_guru/composite/example/shapes/BaseShape.java +++ b/src/refactoring_guru/structural/composite/example/shapes/BaseShape.java @@ -1,4 +1,4 @@ -package refactoring_guru.composite.example.shapes; +package refactoring_guru.structural.composite.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/composite/example/shapes/Circle.java b/src/refactoring_guru/structural/composite/example/shapes/Circle.java similarity index 89% rename from src/refactoring_guru/composite/example/shapes/Circle.java rename to src/refactoring_guru/structural/composite/example/shapes/Circle.java index 91dc168..a5e104b 100644 --- a/src/refactoring_guru/composite/example/shapes/Circle.java +++ b/src/refactoring_guru/structural/composite/example/shapes/Circle.java @@ -1,4 +1,4 @@ -package refactoring_guru.composite.example.shapes; +package refactoring_guru.structural.composite.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/composite/example/shapes/CompoundShape.java b/src/refactoring_guru/structural/composite/example/shapes/CompoundShape.java similarity index 98% rename from src/refactoring_guru/composite/example/shapes/CompoundShape.java rename to src/refactoring_guru/structural/composite/example/shapes/CompoundShape.java index ee9562a..e7bb87a 100644 --- a/src/refactoring_guru/composite/example/shapes/CompoundShape.java +++ b/src/refactoring_guru/structural/composite/example/shapes/CompoundShape.java @@ -1,4 +1,4 @@ -package refactoring_guru.composite.example.shapes; +package refactoring_guru.structural.composite.example.shapes; import java.awt.*; import java.util.ArrayList; diff --git a/src/refactoring_guru/memento/example/shapes/Dot.java b/src/refactoring_guru/structural/composite/example/shapes/Dot.java similarity index 88% rename from src/refactoring_guru/memento/example/shapes/Dot.java rename to src/refactoring_guru/structural/composite/example/shapes/Dot.java index a8562e6..eb773a5 100644 --- a/src/refactoring_guru/memento/example/shapes/Dot.java +++ b/src/refactoring_guru/structural/composite/example/shapes/Dot.java @@ -1,4 +1,4 @@ -package refactoring_guru.memento.example.shapes; +package refactoring_guru.structural.composite.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/composite/example/shapes/Rectangle.java b/src/refactoring_guru/structural/composite/example/shapes/Rectangle.java similarity index 90% rename from src/refactoring_guru/composite/example/shapes/Rectangle.java rename to src/refactoring_guru/structural/composite/example/shapes/Rectangle.java index 4a2b73f..a1b140f 100644 --- a/src/refactoring_guru/composite/example/shapes/Rectangle.java +++ b/src/refactoring_guru/structural/composite/example/shapes/Rectangle.java @@ -1,4 +1,4 @@ -package refactoring_guru.composite.example.shapes; +package refactoring_guru.structural.composite.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/composite/example/shapes/Shape.java b/src/refactoring_guru/structural/composite/example/shapes/Shape.java similarity index 82% rename from src/refactoring_guru/composite/example/shapes/Shape.java rename to src/refactoring_guru/structural/composite/example/shapes/Shape.java index 746cf83..a46de0b 100644 --- a/src/refactoring_guru/composite/example/shapes/Shape.java +++ b/src/refactoring_guru/structural/composite/example/shapes/Shape.java @@ -1,4 +1,4 @@ -package refactoring_guru.composite.example.shapes; +package refactoring_guru.structural.composite.example.shapes; import java.awt.*; diff --git a/src/refactoring_guru/decorator/example/Demo.java b/src/refactoring_guru/structural/decorator/example/Demo.java similarity index 86% rename from src/refactoring_guru/decorator/example/Demo.java rename to src/refactoring_guru/structural/decorator/example/Demo.java index cb58725..2971d97 100644 --- a/src/refactoring_guru/decorator/example/Demo.java +++ b/src/refactoring_guru/structural/decorator/example/Demo.java @@ -1,6 +1,6 @@ -package refactoring_guru.decorator.example; +package refactoring_guru.structural.decorator.example; -import refactoring_guru.decorator.example.decorators.*; +import refactoring_guru.structural.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/structural/decorator/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/decorator/example/OutputDemo.txt rename to src/refactoring_guru/structural/decorator/example/OutputDemo.txt diff --git a/src/refactoring_guru/decorator/example/decorators/CompressionDecorator.java b/src/refactoring_guru/structural/decorator/example/decorators/CompressionDecorator.java similarity index 94% rename from src/refactoring_guru/decorator/example/decorators/CompressionDecorator.java rename to src/refactoring_guru/structural/decorator/example/decorators/CompressionDecorator.java index fc63691..f72d6ea 100644 --- a/src/refactoring_guru/decorator/example/decorators/CompressionDecorator.java +++ b/src/refactoring_guru/structural/decorator/example/decorators/CompressionDecorator.java @@ -1,4 +1,4 @@ -package refactoring_guru.decorator.example.decorators; +package refactoring_guru.structural.decorator.example.decorators; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -61,7 +61,7 @@ private String decompress(String stringData) { in.close(); iin.close(); bout.close(); - return new String(bout.toByteArray()); + return bout.toString(); } catch (IOException ex) { return null; } diff --git a/src/refactoring_guru/decorator/example/decorators/DataSource.java b/src/refactoring_guru/structural/decorator/example/decorators/DataSource.java similarity index 57% rename from src/refactoring_guru/decorator/example/decorators/DataSource.java rename to src/refactoring_guru/structural/decorator/example/decorators/DataSource.java index b26cd07..540809f 100644 --- a/src/refactoring_guru/decorator/example/decorators/DataSource.java +++ b/src/refactoring_guru/structural/decorator/example/decorators/DataSource.java @@ -1,4 +1,4 @@ -package refactoring_guru.decorator.example.decorators; +package refactoring_guru.structural.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/structural/decorator/example/decorators/DataSourceDecorator.java similarity index 76% rename from src/refactoring_guru/decorator/example/decorators/DataSourceDecorator.java rename to src/refactoring_guru/structural/decorator/example/decorators/DataSourceDecorator.java index c0ce837..faa45af 100644 --- a/src/refactoring_guru/decorator/example/decorators/DataSourceDecorator.java +++ b/src/refactoring_guru/structural/decorator/example/decorators/DataSourceDecorator.java @@ -1,7 +1,7 @@ -package refactoring_guru.decorator.example.decorators; +package refactoring_guru.structural.decorator.example.decorators; public abstract class DataSourceDecorator implements DataSource { - private DataSource wrappee; + private final DataSource wrappee; DataSourceDecorator(DataSource source) { this.wrappee = source; diff --git a/src/refactoring_guru/decorator/example/decorators/EncryptionDecorator.java b/src/refactoring_guru/structural/decorator/example/decorators/EncryptionDecorator.java similarity index 92% rename from src/refactoring_guru/decorator/example/decorators/EncryptionDecorator.java rename to src/refactoring_guru/structural/decorator/example/decorators/EncryptionDecorator.java index 2b8821c..3b25f4a 100644 --- a/src/refactoring_guru/decorator/example/decorators/EncryptionDecorator.java +++ b/src/refactoring_guru/structural/decorator/example/decorators/EncryptionDecorator.java @@ -1,4 +1,4 @@ -package refactoring_guru.decorator.example.decorators; +package refactoring_guru.structural.decorator.example.decorators; import java.util.Base64; diff --git a/src/refactoring_guru/decorator/example/decorators/FileDataSource.java b/src/refactoring_guru/structural/decorator/example/decorators/FileDataSource.java similarity index 89% rename from src/refactoring_guru/decorator/example/decorators/FileDataSource.java rename to src/refactoring_guru/structural/decorator/example/decorators/FileDataSource.java index 8b19251..c1c1134 100644 --- a/src/refactoring_guru/decorator/example/decorators/FileDataSource.java +++ b/src/refactoring_guru/structural/decorator/example/decorators/FileDataSource.java @@ -1,9 +1,9 @@ -package refactoring_guru.decorator.example.decorators; +package refactoring_guru.structural.decorator.example.decorators; import java.io.*; public class FileDataSource implements DataSource { - private String name; + private final String name; public FileDataSource(String name) { this.name = name; diff --git a/src/refactoring_guru/facade/example/Demo.java b/src/refactoring_guru/structural/facade/example/Demo.java similarity index 66% rename from src/refactoring_guru/facade/example/Demo.java rename to src/refactoring_guru/structural/facade/example/Demo.java index eb1c8e1..2d43f2b 100644 --- a/src/refactoring_guru/facade/example/Demo.java +++ b/src/refactoring_guru/structural/facade/example/Demo.java @@ -1,6 +1,6 @@ -package refactoring_guru.facade.example; +package refactoring_guru.structural.facade.example; -import refactoring_guru.facade.example.facade.VideoConversionFacade; +import refactoring_guru.structural.facade.example.facade.VideoConversionFacade; import java.io.File; diff --git a/src/refactoring_guru/facade/example/OutputDemo.txt b/src/refactoring_guru/structural/facade/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/facade/example/OutputDemo.txt rename to src/refactoring_guru/structural/facade/example/OutputDemo.txt diff --git a/src/refactoring_guru/facade/example/facade/VideoConversionFacade.java b/src/refactoring_guru/structural/facade/example/facade/VideoConversionFacade.java similarity index 85% rename from src/refactoring_guru/facade/example/facade/VideoConversionFacade.java rename to src/refactoring_guru/structural/facade/example/facade/VideoConversionFacade.java index 5ae11d0..bcc5c7d 100644 --- a/src/refactoring_guru/facade/example/facade/VideoConversionFacade.java +++ b/src/refactoring_guru/structural/facade/example/facade/VideoConversionFacade.java @@ -1,6 +1,6 @@ -package refactoring_guru.facade.example.facade; +package refactoring_guru.structural.facade.example.facade; -import refactoring_guru.facade.example.some_complex_media_library.*; +import refactoring_guru.structural.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/structural/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/structural/facade/example/some_complex_media_library/AudioMixer.java index 399145d..aef8adf 100644 --- a/src/refactoring_guru/facade/example/some_complex_media_library/AudioMixer.java +++ b/src/refactoring_guru/structural/facade/example/some_complex_media_library/AudioMixer.java @@ -1,4 +1,4 @@ -package refactoring_guru.facade.example.some_complex_media_library; +package refactoring_guru.structural.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/structural/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/structural/facade/example/some_complex_media_library/BitrateReader.java index cc2d57f..b7bd776 100644 --- a/src/refactoring_guru/facade/example/some_complex_media_library/BitrateReader.java +++ b/src/refactoring_guru/structural/facade/example/some_complex_media_library/BitrateReader.java @@ -1,4 +1,4 @@ -package refactoring_guru.facade.example.some_complex_media_library; +package refactoring_guru.structural.facade.example.some_complex_media_library; public class BitrateReader { public static VideoFile read(VideoFile file, Codec codec) { diff --git a/src/refactoring_guru/structural/facade/example/some_complex_media_library/Codec.java b/src/refactoring_guru/structural/facade/example/some_complex_media_library/Codec.java new file mode 100644 index 0000000..564bf9f --- /dev/null +++ b/src/refactoring_guru/structural/facade/example/some_complex_media_library/Codec.java @@ -0,0 +1,4 @@ +package refactoring_guru.structural.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/structural/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/structural/facade/example/some_complex_media_library/CodecFactory.java index 69a7c4d..79a8857 100644 --- a/src/refactoring_guru/facade/example/some_complex_media_library/CodecFactory.java +++ b/src/refactoring_guru/structural/facade/example/some_complex_media_library/CodecFactory.java @@ -1,4 +1,4 @@ -package refactoring_guru.facade.example.some_complex_media_library; +package refactoring_guru.structural.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/structural/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/structural/facade/example/some_complex_media_library/MPEG4CompressionCodec.java index e9e0d29..c178da8 100644 --- a/src/refactoring_guru/facade/example/some_complex_media_library/MPEG4CompressionCodec.java +++ b/src/refactoring_guru/structural/facade/example/some_complex_media_library/MPEG4CompressionCodec.java @@ -1,4 +1,4 @@ -package refactoring_guru.facade.example.some_complex_media_library; +package refactoring_guru.structural.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/structural/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/structural/facade/example/some_complex_media_library/OggCompressionCodec.java index 42f200f..cd65125 100644 --- a/src/refactoring_guru/facade/example/some_complex_media_library/OggCompressionCodec.java +++ b/src/refactoring_guru/structural/facade/example/some_complex_media_library/OggCompressionCodec.java @@ -1,4 +1,4 @@ -package refactoring_guru.facade.example.some_complex_media_library; +package refactoring_guru.structural.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/structural/facade/example/some_complex_media_library/VideoFile.java similarity index 66% rename from src/refactoring_guru/facade/example/some_complex_media_library/VideoFile.java rename to src/refactoring_guru/structural/facade/example/some_complex_media_library/VideoFile.java index 243035a..5def42a 100644 --- a/src/refactoring_guru/facade/example/some_complex_media_library/VideoFile.java +++ b/src/refactoring_guru/structural/facade/example/some_complex_media_library/VideoFile.java @@ -1,8 +1,8 @@ -package refactoring_guru.facade.example.some_complex_media_library; +package refactoring_guru.structural.facade.example.some_complex_media_library; public class VideoFile { - private String name; - private String codecType; + private final String name; + private final String codecType; public VideoFile(String name) { this.name = name; diff --git a/src/refactoring_guru/flyweight/example/Demo.java b/src/refactoring_guru/structural/flyweight/example/Demo.java similarity index 90% rename from src/refactoring_guru/flyweight/example/Demo.java rename to src/refactoring_guru/structural/flyweight/example/Demo.java index 2f5b9f7..0c1f3c7 100644 --- a/src/refactoring_guru/flyweight/example/Demo.java +++ b/src/refactoring_guru/structural/flyweight/example/Demo.java @@ -1,6 +1,6 @@ -package refactoring_guru.flyweight.example; +package refactoring_guru.structural.flyweight.example; -import refactoring_guru.flyweight.example.forest.Forest; +import refactoring_guru.structural.flyweight.example.forest.Forest; import java.awt.*; @@ -24,7 +24,7 @@ public static void main(String[] args) { System.out.println("---------------------"); System.out.println("Memory usage:"); System.out.println("Tree size (8 bytes) * " + TREES_TO_DRAW); - System.out.println("+ TreeTypes size (~30 bytes) * " + TREE_TYPES + ""); + System.out.println("+ TreeTypes size (~30 bytes) * " + TREE_TYPES); System.out.println("---------------------"); System.out.println("Total: " + ((TREES_TO_DRAW * 8 + TREE_TYPES * 30) / 1024 / 1024) + "MB (instead of " + ((TREES_TO_DRAW * 38) / 1024 / 1024) + "MB)"); diff --git a/src/refactoring_guru/flyweight/example/OutputDemo.png b/src/refactoring_guru/structural/flyweight/example/OutputDemo.png similarity index 100% rename from src/refactoring_guru/flyweight/example/OutputDemo.png rename to src/refactoring_guru/structural/flyweight/example/OutputDemo.png diff --git a/src/refactoring_guru/flyweight/example/OutputDemo.txt b/src/refactoring_guru/structural/flyweight/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/flyweight/example/OutputDemo.txt rename to src/refactoring_guru/structural/flyweight/example/OutputDemo.txt diff --git a/src/refactoring_guru/flyweight/example/forest/Forest.java b/src/refactoring_guru/structural/flyweight/example/forest/Forest.java similarity index 61% rename from src/refactoring_guru/flyweight/example/forest/Forest.java rename to src/refactoring_guru/structural/flyweight/example/forest/Forest.java index 7dff7a4..284325f 100644 --- a/src/refactoring_guru/flyweight/example/forest/Forest.java +++ b/src/refactoring_guru/structural/flyweight/example/forest/Forest.java @@ -1,8 +1,8 @@ -package refactoring_guru.flyweight.example.forest; +package refactoring_guru.structural.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.structural.flyweight.example.trees.Tree; +import refactoring_guru.structural.flyweight.example.trees.TreeFactory; +import refactoring_guru.structural.flyweight.example.trees.TreeType; import javax.swing.*; import java.awt.*; @@ -10,7 +10,7 @@ import java.util.List; public class Forest extends JFrame { - private List trees = new ArrayList<>(); + private final List trees = new ArrayList<>(); public void plantTree(int x, int y, String name, Color color, String otherTreeData) { TreeType type = TreeFactory.getTreeType(name, color, otherTreeData); diff --git a/src/refactoring_guru/flyweight/example/trees/Tree.java b/src/refactoring_guru/structural/flyweight/example/trees/Tree.java similarity index 61% rename from src/refactoring_guru/flyweight/example/trees/Tree.java rename to src/refactoring_guru/structural/flyweight/example/trees/Tree.java index d86e5ea..a3c17b2 100644 --- a/src/refactoring_guru/flyweight/example/trees/Tree.java +++ b/src/refactoring_guru/structural/flyweight/example/trees/Tree.java @@ -1,11 +1,11 @@ -package refactoring_guru.flyweight.example.trees; +package refactoring_guru.structural.flyweight.example.trees; import java.awt.*; public class Tree { - private int x; - private int y; - private TreeType type; + private final int x; + private final int y; + private final TreeType type; public Tree(int x, int y, TreeType type) { this.x = x; diff --git a/src/refactoring_guru/flyweight/example/trees/TreeFactory.java b/src/refactoring_guru/structural/flyweight/example/trees/TreeFactory.java similarity index 88% rename from src/refactoring_guru/flyweight/example/trees/TreeFactory.java rename to src/refactoring_guru/structural/flyweight/example/trees/TreeFactory.java index 5f4f9fe..97f68f2 100644 --- a/src/refactoring_guru/flyweight/example/trees/TreeFactory.java +++ b/src/refactoring_guru/structural/flyweight/example/trees/TreeFactory.java @@ -1,4 +1,4 @@ -package refactoring_guru.flyweight.example.trees; +package refactoring_guru.structural.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/structural/flyweight/example/trees/TreeType.java similarity index 71% rename from src/refactoring_guru/flyweight/example/trees/TreeType.java rename to src/refactoring_guru/structural/flyweight/example/trees/TreeType.java index 73c720b..48266e7 100644 --- a/src/refactoring_guru/flyweight/example/trees/TreeType.java +++ b/src/refactoring_guru/structural/flyweight/example/trees/TreeType.java @@ -1,11 +1,11 @@ -package refactoring_guru.flyweight.example.trees; +package refactoring_guru.structural.flyweight.example.trees; import java.awt.*; public class TreeType { - private String name; - private Color color; - private String otherTreeData; + private final String name; + private final Color color; + private final String otherTreeData; public TreeType(String name, Color color, String otherTreeData) { this.name = name; diff --git a/src/refactoring_guru/proxy/example/Demo.java b/src/refactoring_guru/structural/proxy/example/Demo.java similarity index 78% rename from src/refactoring_guru/proxy/example/Demo.java rename to src/refactoring_guru/structural/proxy/example/Demo.java index 4861f65..4fa71db 100644 --- a/src/refactoring_guru/proxy/example/Demo.java +++ b/src/refactoring_guru/structural/proxy/example/Demo.java @@ -1,8 +1,8 @@ -package refactoring_guru.proxy.example; +package refactoring_guru.structural.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.structural.proxy.example.downloader.YouTubeDownloader; +import refactoring_guru.structural.proxy.example.proxy.YouTubeCacheProxy; +import refactoring_guru.structural.proxy.example.some_cool_media_library.ThirdPartyYouTubeClass; public class Demo { diff --git a/src/refactoring_guru/proxy/example/OutputDemo.txt b/src/refactoring_guru/structural/proxy/example/OutputDemo.txt similarity index 100% rename from src/refactoring_guru/proxy/example/OutputDemo.txt rename to src/refactoring_guru/structural/proxy/example/OutputDemo.txt diff --git a/src/refactoring_guru/proxy/example/downloader/YouTubeDownloader.java b/src/refactoring_guru/structural/proxy/example/downloader/YouTubeDownloader.java similarity index 78% rename from src/refactoring_guru/proxy/example/downloader/YouTubeDownloader.java rename to src/refactoring_guru/structural/proxy/example/downloader/YouTubeDownloader.java index 1ae9d2c..14d0fd0 100644 --- a/src/refactoring_guru/proxy/example/downloader/YouTubeDownloader.java +++ b/src/refactoring_guru/structural/proxy/example/downloader/YouTubeDownloader.java @@ -1,12 +1,12 @@ -package refactoring_guru.proxy.example.downloader; +package refactoring_guru.structural.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.structural.proxy.example.some_cool_media_library.ThirdPartyYouTubeLib; +import refactoring_guru.structural.proxy.example.some_cool_media_library.Video; import java.util.HashMap; public class YouTubeDownloader { - private ThirdPartyYouTubeLib api; + private final ThirdPartyYouTubeLib api; public YouTubeDownloader(ThirdPartyYouTubeLib api) { this.api = api; diff --git a/src/refactoring_guru/proxy/example/proxy/YouTubeCacheProxy.java b/src/refactoring_guru/structural/proxy/example/proxy/YouTubeCacheProxy.java similarity index 68% rename from src/refactoring_guru/proxy/example/proxy/YouTubeCacheProxy.java rename to src/refactoring_guru/structural/proxy/example/proxy/YouTubeCacheProxy.java index 7a2887c..e450360 100644 --- a/src/refactoring_guru/proxy/example/proxy/YouTubeCacheProxy.java +++ b/src/refactoring_guru/structural/proxy/example/proxy/YouTubeCacheProxy.java @@ -1,15 +1,15 @@ -package refactoring_guru.proxy.example.proxy; +package refactoring_guru.structural.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.structural.proxy.example.some_cool_media_library.ThirdPartyYouTubeClass; +import refactoring_guru.structural.proxy.example.some_cool_media_library.ThirdPartyYouTubeLib; +import refactoring_guru.structural.proxy.example.some_cool_media_library.Video; import java.util.HashMap; public class YouTubeCacheProxy implements ThirdPartyYouTubeLib { - private ThirdPartyYouTubeLib youtubeService; + private final ThirdPartyYouTubeLib youtubeService; private HashMap cachePopular = new HashMap(); - private HashMap cacheAll = new HashMap(); + private final HashMap cacheAll = new HashMap(); public YouTubeCacheProxy() { this.youtubeService = new ThirdPartyYouTubeClass(); diff --git a/src/refactoring_guru/proxy/example/some_cool_media_library/ThirdPartyYouTubeClass.java b/src/refactoring_guru/structural/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/structural/proxy/example/some_cool_media_library/ThirdPartyYouTubeClass.java index 7c2e07e..8484ecd 100644 --- a/src/refactoring_guru/proxy/example/some_cool_media_library/ThirdPartyYouTubeClass.java +++ b/src/refactoring_guru/structural/proxy/example/some_cool_media_library/ThirdPartyYouTubeClass.java @@ -1,4 +1,4 @@ -package refactoring_guru.proxy.example.some_cool_media_library; +package refactoring_guru.structural.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/structural/proxy/example/some_cool_media_library/ThirdPartyYouTubeLib.java similarity index 66% rename from src/refactoring_guru/proxy/example/some_cool_media_library/ThirdPartyYouTubeLib.java rename to src/refactoring_guru/structural/proxy/example/some_cool_media_library/ThirdPartyYouTubeLib.java index e05ff22..599e486 100644 --- a/src/refactoring_guru/proxy/example/some_cool_media_library/ThirdPartyYouTubeLib.java +++ b/src/refactoring_guru/structural/proxy/example/some_cool_media_library/ThirdPartyYouTubeLib.java @@ -1,4 +1,4 @@ -package refactoring_guru.proxy.example.some_cool_media_library; +package refactoring_guru.structural.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/structural/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/structural/proxy/example/some_cool_media_library/Video.java index 96cf8b8..02b468d 100644 --- a/src/refactoring_guru/proxy/example/some_cool_media_library/Video.java +++ b/src/refactoring_guru/structural/proxy/example/some_cool_media_library/Video.java @@ -1,4 +1,4 @@ -package refactoring_guru.proxy.example.some_cool_media_library; +package refactoring_guru.structural.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); -}