├── .gitignore ├── LICENSE.txt ├── README.md └── src └── refactoring_guru ├── abstract_factory └── example │ ├── Demo.java │ ├── OutputDemo.txt │ ├── app │ └── Application.java │ ├── buttons │ ├── Button.java │ ├── MacOSButton.java │ └── WindowsButton.java │ ├── checkboxes │ ├── Checkbox.java │ ├── MacOSCheckbox.java │ └── WindowsCheckbox.java │ └── factories │ ├── GUIFactory.java │ ├── MacOSFactory.java │ └── WindowsFactory.java ├── adapter └── example │ ├── Demo.java │ ├── OutputDemo.txt │ ├── adapters │ └── SquarePegAdapter.java │ ├── round │ ├── RoundHole.java │ └── RoundPeg.java │ └── square │ └── SquarePeg.java ├── bridge └── example │ ├── Demo.java │ ├── OutputDemo.txt │ ├── devices │ ├── Device.java │ ├── Radio.java │ └── Tv.java │ └── remotes │ ├── AdvancedRemote.java │ ├── BasicRemote.java │ └── Remote.java ├── builder └── example │ ├── Demo.java │ ├── OutputDemo.txt │ ├── builders │ ├── Builder.java │ ├── CarBuilder.java │ └── CarManualBuilder.java │ ├── cars │ ├── Car.java │ ├── CarType.java │ └── Manual.java │ ├── components │ ├── Engine.java │ ├── GPSNavigator.java │ ├── Transmission.java │ └── TripComputer.java │ └── director │ └── Director.java ├── chain_of_responsibility └── example │ ├── Demo.java │ ├── OutputDemo.txt │ ├── middleware │ ├── Middleware.java │ ├── RoleCheckMiddleware.java │ ├── ThrottlingMiddleware.java │ └── UserExistsMiddleware.java │ └── server │ └── Server.java ├── command └── example │ ├── Demo.java │ ├── OutputDemo.png │ ├── commands │ ├── Command.java │ ├── CommandHistory.java │ ├── CopyCommand.java │ ├── CutCommand.java │ └── PasteCommand.java │ └── editor │ └── Editor.java ├── composite └── example │ ├── Demo.java │ ├── OutputDemo.png │ ├── editor │ └── ImageEditor.java │ └── shapes │ ├── BaseShape.java │ ├── Circle.java │ ├── CompoundShape.java │ ├── Dot.java │ ├── Rectangle.java │ └── Shape.java ├── decorator └── example │ ├── Demo.java │ ├── OutputDemo.txt │ └── decorators │ ├── CompressionDecorator.java │ ├── DataSource.java │ ├── DataSourceDecorator.java │ ├── EncryptionDecorator.java │ └── FileDataSource.java ├── facade └── example │ ├── Demo.java │ ├── OutputDemo.txt │ ├── facade │ └── VideoConversionFacade.java │ └── some_complex_media_library │ ├── AudioMixer.java │ ├── BitrateReader.java │ ├── Codec.java │ ├── CodecFactory.java │ ├── MPEG4CompressionCodec.java │ ├── OggCompressionCodec.java │ └── VideoFile.java ├── factory_method └── example │ ├── Demo.java │ ├── OutputDemo.png │ ├── OutputDemo.txt │ ├── buttons │ ├── Button.java │ ├── HtmlButton.java │ └── WindowsButton.java │ └── factory │ ├── Dialog.java │ ├── HtmlDialog.java │ └── WindowsDialog.java ├── flyweight └── example │ ├── Demo.java │ ├── OutputDemo.png │ ├── OutputDemo.txt │ ├── forest │ └── Forest.java │ └── trees │ ├── Tree.java │ ├── TreeFactory.java │ └── TreeType.java ├── interpreter └── example │ ├── Demo.java │ ├── OutputDemo.txt │ └── expressions │ ├── AbstractExpressions.java │ ├── AndExpression.java │ ├── Context.java │ ├── OrExpression.java │ └── VariableExpression.java ├── iterator └── example │ ├── Demo.java │ ├── OutputDemo.txt │ ├── iterators │ ├── FacebookIterator.java │ ├── LinkedInIterator.java │ └── ProfileIterator.java │ ├── profile │ └── Profile.java │ ├── social_networks │ ├── Facebook.java │ ├── LinkedIn.java │ └── SocialNetwork.java │ └── spammer │ └── SocialSpammer.java ├── mediator └── example │ ├── Demo.java │ ├── OutputDemo.png │ ├── components │ ├── AddButton.java │ ├── Component.java │ ├── DeleteButton.java │ ├── Filter.java │ ├── List.java │ ├── SaveButton.java │ ├── TextBox.java │ └── Title.java │ └── mediator │ ├── Editor.java │ ├── Mediator.java │ └── Note.java ├── memento └── example │ ├── Demo.java │ ├── OutputDemo.png │ ├── commands │ ├── ColorCommand.java │ ├── Command.java │ └── MoveCommand.java │ ├── editor │ ├── Canvas.java │ └── Editor.java │ ├── history │ ├── History.java │ └── Memento.java │ └── shapes │ ├── BaseShape.java │ ├── Circle.java │ ├── CompoundShape.java │ ├── Dot.java │ ├── Rectangle.java │ └── Shape.java ├── observer └── example │ ├── Demo.java │ ├── OutputDemo.txt │ ├── editor │ └── Editor.java │ ├── listeners │ ├── EmailNotificationListener.java │ ├── EventListener.java │ └── LogOpenListener.java │ └── publisher │ └── EventManager.java ├── prototype ├── caching │ ├── Demo.java │ ├── OutputDemo.txt │ └── cache │ │ └── BundledShapeCache.java └── example │ ├── Demo.java │ ├── OutputDemo.txt │ └── shapes │ ├── Circle.java │ ├── Rectangle.java │ └── Shape.java ├── proxy └── example │ ├── Demo.java │ ├── OutputDemo.txt │ ├── downloader │ └── YouTubeDownloader.java │ ├── proxy │ └── YouTubeCacheProxy.java │ └── some_cool_media_library │ ├── ThirdPartyYouTubeClass.java │ ├── ThirdPartyYouTubeLib.java │ └── Video.java ├── singleton └── example │ ├── non_thread_safe │ ├── DemoMultiThread.java │ ├── DemoSingleThread.java │ ├── OutputDemoMultiThread.txt │ ├── OutputDemoSingleThread.txt │ └── Singleton.java │ └── thread_safe │ ├── DemoMultiThread.java │ ├── OutputDemoMultiThread.txt │ └── Singleton.java ├── state └── example │ ├── Demo.java │ ├── OutputDemo.png │ ├── states │ ├── LockedState.java │ ├── PlayingState.java │ ├── ReadyState.java │ └── State.java │ └── ui │ ├── Player.java │ └── UI.java ├── strategy └── example │ ├── Demo.java │ ├── OutputDemo.txt │ ├── order │ └── Order.java │ └── strategies │ ├── CreditCard.java │ ├── PayByCreditCard.java │ ├── PayByPayPal.java │ └── PayStrategy.java ├── template_method └── example │ ├── Demo.java │ ├── OutputDemo.txt │ └── networks │ ├── Facebook.java │ ├── Network.java │ └── Twitter.java └── visitor └── example ├── Demo.java ├── OutputDemo.txt ├── shapes ├── Circle.java ├── CompoundShape.java ├── Dot.java ├── Rectangle.java └── Shape.java └── visitor ├── Visitor.java └── XMLExportVisitor.java /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.iml 3 | out -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/README.md -------------------------------------------------------------------------------- /src/refactoring_guru/abstract_factory/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/abstract_factory/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/abstract_factory/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/abstract_factory/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/abstract_factory/example/app/Application.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/abstract_factory/example/app/Application.java -------------------------------------------------------------------------------- /src/refactoring_guru/abstract_factory/example/buttons/Button.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/abstract_factory/example/buttons/Button.java -------------------------------------------------------------------------------- /src/refactoring_guru/abstract_factory/example/buttons/MacOSButton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/abstract_factory/example/buttons/MacOSButton.java -------------------------------------------------------------------------------- /src/refactoring_guru/abstract_factory/example/buttons/WindowsButton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/abstract_factory/example/buttons/WindowsButton.java -------------------------------------------------------------------------------- /src/refactoring_guru/abstract_factory/example/checkboxes/Checkbox.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/abstract_factory/example/checkboxes/Checkbox.java -------------------------------------------------------------------------------- /src/refactoring_guru/abstract_factory/example/checkboxes/MacOSCheckbox.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/abstract_factory/example/checkboxes/MacOSCheckbox.java -------------------------------------------------------------------------------- /src/refactoring_guru/abstract_factory/example/checkboxes/WindowsCheckbox.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/abstract_factory/example/checkboxes/WindowsCheckbox.java -------------------------------------------------------------------------------- /src/refactoring_guru/abstract_factory/example/factories/GUIFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/abstract_factory/example/factories/GUIFactory.java -------------------------------------------------------------------------------- /src/refactoring_guru/abstract_factory/example/factories/MacOSFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/abstract_factory/example/factories/MacOSFactory.java -------------------------------------------------------------------------------- /src/refactoring_guru/abstract_factory/example/factories/WindowsFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/abstract_factory/example/factories/WindowsFactory.java -------------------------------------------------------------------------------- /src/refactoring_guru/adapter/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/adapter/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/adapter/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/adapter/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/adapter/example/adapters/SquarePegAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/adapter/example/adapters/SquarePegAdapter.java -------------------------------------------------------------------------------- /src/refactoring_guru/adapter/example/round/RoundHole.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/adapter/example/round/RoundHole.java -------------------------------------------------------------------------------- /src/refactoring_guru/adapter/example/round/RoundPeg.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/adapter/example/round/RoundPeg.java -------------------------------------------------------------------------------- /src/refactoring_guru/adapter/example/square/SquarePeg.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/adapter/example/square/SquarePeg.java -------------------------------------------------------------------------------- /src/refactoring_guru/bridge/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/bridge/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/bridge/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/bridge/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/bridge/example/devices/Device.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/bridge/example/devices/Device.java -------------------------------------------------------------------------------- /src/refactoring_guru/bridge/example/devices/Radio.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/bridge/example/devices/Radio.java -------------------------------------------------------------------------------- /src/refactoring_guru/bridge/example/devices/Tv.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/bridge/example/devices/Tv.java -------------------------------------------------------------------------------- /src/refactoring_guru/bridge/example/remotes/AdvancedRemote.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/bridge/example/remotes/AdvancedRemote.java -------------------------------------------------------------------------------- /src/refactoring_guru/bridge/example/remotes/BasicRemote.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/bridge/example/remotes/BasicRemote.java -------------------------------------------------------------------------------- /src/refactoring_guru/bridge/example/remotes/Remote.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/bridge/example/remotes/Remote.java -------------------------------------------------------------------------------- /src/refactoring_guru/builder/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/builder/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/builder/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/builder/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/builder/example/builders/Builder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/builder/example/builders/Builder.java -------------------------------------------------------------------------------- /src/refactoring_guru/builder/example/builders/CarBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/builder/example/builders/CarBuilder.java -------------------------------------------------------------------------------- /src/refactoring_guru/builder/example/builders/CarManualBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/builder/example/builders/CarManualBuilder.java -------------------------------------------------------------------------------- /src/refactoring_guru/builder/example/cars/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/builder/example/cars/Car.java -------------------------------------------------------------------------------- /src/refactoring_guru/builder/example/cars/CarType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/builder/example/cars/CarType.java -------------------------------------------------------------------------------- /src/refactoring_guru/builder/example/cars/Manual.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/builder/example/cars/Manual.java -------------------------------------------------------------------------------- /src/refactoring_guru/builder/example/components/Engine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/builder/example/components/Engine.java -------------------------------------------------------------------------------- /src/refactoring_guru/builder/example/components/GPSNavigator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/builder/example/components/GPSNavigator.java -------------------------------------------------------------------------------- /src/refactoring_guru/builder/example/components/Transmission.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/builder/example/components/Transmission.java -------------------------------------------------------------------------------- /src/refactoring_guru/builder/example/components/TripComputer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/builder/example/components/TripComputer.java -------------------------------------------------------------------------------- /src/refactoring_guru/builder/example/director/Director.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/builder/example/director/Director.java -------------------------------------------------------------------------------- /src/refactoring_guru/chain_of_responsibility/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/chain_of_responsibility/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/chain_of_responsibility/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/chain_of_responsibility/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/chain_of_responsibility/example/middleware/Middleware.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/chain_of_responsibility/example/middleware/Middleware.java -------------------------------------------------------------------------------- /src/refactoring_guru/chain_of_responsibility/example/middleware/RoleCheckMiddleware.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/chain_of_responsibility/example/middleware/RoleCheckMiddleware.java -------------------------------------------------------------------------------- /src/refactoring_guru/chain_of_responsibility/example/middleware/ThrottlingMiddleware.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/chain_of_responsibility/example/middleware/ThrottlingMiddleware.java -------------------------------------------------------------------------------- /src/refactoring_guru/chain_of_responsibility/example/middleware/UserExistsMiddleware.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/chain_of_responsibility/example/middleware/UserExistsMiddleware.java -------------------------------------------------------------------------------- /src/refactoring_guru/chain_of_responsibility/example/server/Server.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/chain_of_responsibility/example/server/Server.java -------------------------------------------------------------------------------- /src/refactoring_guru/command/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/command/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/command/example/OutputDemo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/command/example/OutputDemo.png -------------------------------------------------------------------------------- /src/refactoring_guru/command/example/commands/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/command/example/commands/Command.java -------------------------------------------------------------------------------- /src/refactoring_guru/command/example/commands/CommandHistory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/command/example/commands/CommandHistory.java -------------------------------------------------------------------------------- /src/refactoring_guru/command/example/commands/CopyCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/command/example/commands/CopyCommand.java -------------------------------------------------------------------------------- /src/refactoring_guru/command/example/commands/CutCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/command/example/commands/CutCommand.java -------------------------------------------------------------------------------- /src/refactoring_guru/command/example/commands/PasteCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/command/example/commands/PasteCommand.java -------------------------------------------------------------------------------- /src/refactoring_guru/command/example/editor/Editor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/command/example/editor/Editor.java -------------------------------------------------------------------------------- /src/refactoring_guru/composite/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/composite/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/composite/example/OutputDemo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/composite/example/OutputDemo.png -------------------------------------------------------------------------------- /src/refactoring_guru/composite/example/editor/ImageEditor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/composite/example/editor/ImageEditor.java -------------------------------------------------------------------------------- /src/refactoring_guru/composite/example/shapes/BaseShape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/composite/example/shapes/BaseShape.java -------------------------------------------------------------------------------- /src/refactoring_guru/composite/example/shapes/Circle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/composite/example/shapes/Circle.java -------------------------------------------------------------------------------- /src/refactoring_guru/composite/example/shapes/CompoundShape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/composite/example/shapes/CompoundShape.java -------------------------------------------------------------------------------- /src/refactoring_guru/composite/example/shapes/Dot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/composite/example/shapes/Dot.java -------------------------------------------------------------------------------- /src/refactoring_guru/composite/example/shapes/Rectangle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/composite/example/shapes/Rectangle.java -------------------------------------------------------------------------------- /src/refactoring_guru/composite/example/shapes/Shape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/composite/example/shapes/Shape.java -------------------------------------------------------------------------------- /src/refactoring_guru/decorator/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/decorator/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/decorator/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/decorator/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/decorator/example/decorators/CompressionDecorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/decorator/example/decorators/CompressionDecorator.java -------------------------------------------------------------------------------- /src/refactoring_guru/decorator/example/decorators/DataSource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/decorator/example/decorators/DataSource.java -------------------------------------------------------------------------------- /src/refactoring_guru/decorator/example/decorators/DataSourceDecorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/decorator/example/decorators/DataSourceDecorator.java -------------------------------------------------------------------------------- /src/refactoring_guru/decorator/example/decorators/EncryptionDecorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/decorator/example/decorators/EncryptionDecorator.java -------------------------------------------------------------------------------- /src/refactoring_guru/decorator/example/decorators/FileDataSource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/decorator/example/decorators/FileDataSource.java -------------------------------------------------------------------------------- /src/refactoring_guru/facade/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/facade/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/facade/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/facade/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/facade/example/facade/VideoConversionFacade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/facade/example/facade/VideoConversionFacade.java -------------------------------------------------------------------------------- /src/refactoring_guru/facade/example/some_complex_media_library/AudioMixer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/facade/example/some_complex_media_library/AudioMixer.java -------------------------------------------------------------------------------- /src/refactoring_guru/facade/example/some_complex_media_library/BitrateReader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/facade/example/some_complex_media_library/BitrateReader.java -------------------------------------------------------------------------------- /src/refactoring_guru/facade/example/some_complex_media_library/Codec.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/facade/example/some_complex_media_library/Codec.java -------------------------------------------------------------------------------- /src/refactoring_guru/facade/example/some_complex_media_library/CodecFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/facade/example/some_complex_media_library/CodecFactory.java -------------------------------------------------------------------------------- /src/refactoring_guru/facade/example/some_complex_media_library/MPEG4CompressionCodec.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/facade/example/some_complex_media_library/MPEG4CompressionCodec.java -------------------------------------------------------------------------------- /src/refactoring_guru/facade/example/some_complex_media_library/OggCompressionCodec.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/facade/example/some_complex_media_library/OggCompressionCodec.java -------------------------------------------------------------------------------- /src/refactoring_guru/facade/example/some_complex_media_library/VideoFile.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/facade/example/some_complex_media_library/VideoFile.java -------------------------------------------------------------------------------- /src/refactoring_guru/factory_method/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/factory_method/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/factory_method/example/OutputDemo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/factory_method/example/OutputDemo.png -------------------------------------------------------------------------------- /src/refactoring_guru/factory_method/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/factory_method/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/factory_method/example/buttons/Button.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/factory_method/example/buttons/Button.java -------------------------------------------------------------------------------- /src/refactoring_guru/factory_method/example/buttons/HtmlButton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/factory_method/example/buttons/HtmlButton.java -------------------------------------------------------------------------------- /src/refactoring_guru/factory_method/example/buttons/WindowsButton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/factory_method/example/buttons/WindowsButton.java -------------------------------------------------------------------------------- /src/refactoring_guru/factory_method/example/factory/Dialog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/factory_method/example/factory/Dialog.java -------------------------------------------------------------------------------- /src/refactoring_guru/factory_method/example/factory/HtmlDialog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/factory_method/example/factory/HtmlDialog.java -------------------------------------------------------------------------------- /src/refactoring_guru/factory_method/example/factory/WindowsDialog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/factory_method/example/factory/WindowsDialog.java -------------------------------------------------------------------------------- /src/refactoring_guru/flyweight/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/flyweight/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/flyweight/example/OutputDemo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/flyweight/example/OutputDemo.png -------------------------------------------------------------------------------- /src/refactoring_guru/flyweight/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/flyweight/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/flyweight/example/forest/Forest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/flyweight/example/forest/Forest.java -------------------------------------------------------------------------------- /src/refactoring_guru/flyweight/example/trees/Tree.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/flyweight/example/trees/Tree.java -------------------------------------------------------------------------------- /src/refactoring_guru/flyweight/example/trees/TreeFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/flyweight/example/trees/TreeFactory.java -------------------------------------------------------------------------------- /src/refactoring_guru/flyweight/example/trees/TreeType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/flyweight/example/trees/TreeType.java -------------------------------------------------------------------------------- /src/refactoring_guru/interpreter/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/interpreter/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/interpreter/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/interpreter/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/interpreter/example/expressions/AbstractExpressions.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/interpreter/example/expressions/AbstractExpressions.java -------------------------------------------------------------------------------- /src/refactoring_guru/interpreter/example/expressions/AndExpression.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/interpreter/example/expressions/AndExpression.java -------------------------------------------------------------------------------- /src/refactoring_guru/interpreter/example/expressions/Context.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/interpreter/example/expressions/Context.java -------------------------------------------------------------------------------- /src/refactoring_guru/interpreter/example/expressions/OrExpression.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/interpreter/example/expressions/OrExpression.java -------------------------------------------------------------------------------- /src/refactoring_guru/interpreter/example/expressions/VariableExpression.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/interpreter/example/expressions/VariableExpression.java -------------------------------------------------------------------------------- /src/refactoring_guru/iterator/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/iterator/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/iterator/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/iterator/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/iterator/example/iterators/FacebookIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/iterator/example/iterators/FacebookIterator.java -------------------------------------------------------------------------------- /src/refactoring_guru/iterator/example/iterators/LinkedInIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/iterator/example/iterators/LinkedInIterator.java -------------------------------------------------------------------------------- /src/refactoring_guru/iterator/example/iterators/ProfileIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/iterator/example/iterators/ProfileIterator.java -------------------------------------------------------------------------------- /src/refactoring_guru/iterator/example/profile/Profile.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/iterator/example/profile/Profile.java -------------------------------------------------------------------------------- /src/refactoring_guru/iterator/example/social_networks/Facebook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/iterator/example/social_networks/Facebook.java -------------------------------------------------------------------------------- /src/refactoring_guru/iterator/example/social_networks/LinkedIn.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/iterator/example/social_networks/LinkedIn.java -------------------------------------------------------------------------------- /src/refactoring_guru/iterator/example/social_networks/SocialNetwork.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/iterator/example/social_networks/SocialNetwork.java -------------------------------------------------------------------------------- /src/refactoring_guru/iterator/example/spammer/SocialSpammer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/iterator/example/spammer/SocialSpammer.java -------------------------------------------------------------------------------- /src/refactoring_guru/mediator/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/mediator/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/mediator/example/OutputDemo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/mediator/example/OutputDemo.png -------------------------------------------------------------------------------- /src/refactoring_guru/mediator/example/components/AddButton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/mediator/example/components/AddButton.java -------------------------------------------------------------------------------- /src/refactoring_guru/mediator/example/components/Component.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/mediator/example/components/Component.java -------------------------------------------------------------------------------- /src/refactoring_guru/mediator/example/components/DeleteButton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/mediator/example/components/DeleteButton.java -------------------------------------------------------------------------------- /src/refactoring_guru/mediator/example/components/Filter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/mediator/example/components/Filter.java -------------------------------------------------------------------------------- /src/refactoring_guru/mediator/example/components/List.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/mediator/example/components/List.java -------------------------------------------------------------------------------- /src/refactoring_guru/mediator/example/components/SaveButton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/mediator/example/components/SaveButton.java -------------------------------------------------------------------------------- /src/refactoring_guru/mediator/example/components/TextBox.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/mediator/example/components/TextBox.java -------------------------------------------------------------------------------- /src/refactoring_guru/mediator/example/components/Title.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/mediator/example/components/Title.java -------------------------------------------------------------------------------- /src/refactoring_guru/mediator/example/mediator/Editor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/mediator/example/mediator/Editor.java -------------------------------------------------------------------------------- /src/refactoring_guru/mediator/example/mediator/Mediator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/mediator/example/mediator/Mediator.java -------------------------------------------------------------------------------- /src/refactoring_guru/mediator/example/mediator/Note.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/mediator/example/mediator/Note.java -------------------------------------------------------------------------------- /src/refactoring_guru/memento/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/memento/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/memento/example/OutputDemo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/memento/example/OutputDemo.png -------------------------------------------------------------------------------- /src/refactoring_guru/memento/example/commands/ColorCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/memento/example/commands/ColorCommand.java -------------------------------------------------------------------------------- /src/refactoring_guru/memento/example/commands/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/memento/example/commands/Command.java -------------------------------------------------------------------------------- /src/refactoring_guru/memento/example/commands/MoveCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/memento/example/commands/MoveCommand.java -------------------------------------------------------------------------------- /src/refactoring_guru/memento/example/editor/Canvas.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/memento/example/editor/Canvas.java -------------------------------------------------------------------------------- /src/refactoring_guru/memento/example/editor/Editor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/memento/example/editor/Editor.java -------------------------------------------------------------------------------- /src/refactoring_guru/memento/example/history/History.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/memento/example/history/History.java -------------------------------------------------------------------------------- /src/refactoring_guru/memento/example/history/Memento.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/memento/example/history/Memento.java -------------------------------------------------------------------------------- /src/refactoring_guru/memento/example/shapes/BaseShape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/memento/example/shapes/BaseShape.java -------------------------------------------------------------------------------- /src/refactoring_guru/memento/example/shapes/Circle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/memento/example/shapes/Circle.java -------------------------------------------------------------------------------- /src/refactoring_guru/memento/example/shapes/CompoundShape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/memento/example/shapes/CompoundShape.java -------------------------------------------------------------------------------- /src/refactoring_guru/memento/example/shapes/Dot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/memento/example/shapes/Dot.java -------------------------------------------------------------------------------- /src/refactoring_guru/memento/example/shapes/Rectangle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/memento/example/shapes/Rectangle.java -------------------------------------------------------------------------------- /src/refactoring_guru/memento/example/shapes/Shape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/memento/example/shapes/Shape.java -------------------------------------------------------------------------------- /src/refactoring_guru/observer/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/observer/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/observer/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/observer/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/observer/example/editor/Editor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/observer/example/editor/Editor.java -------------------------------------------------------------------------------- /src/refactoring_guru/observer/example/listeners/EmailNotificationListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/observer/example/listeners/EmailNotificationListener.java -------------------------------------------------------------------------------- /src/refactoring_guru/observer/example/listeners/EventListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/observer/example/listeners/EventListener.java -------------------------------------------------------------------------------- /src/refactoring_guru/observer/example/listeners/LogOpenListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/observer/example/listeners/LogOpenListener.java -------------------------------------------------------------------------------- /src/refactoring_guru/observer/example/publisher/EventManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/observer/example/publisher/EventManager.java -------------------------------------------------------------------------------- /src/refactoring_guru/prototype/caching/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/prototype/caching/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/prototype/caching/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/prototype/caching/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/prototype/caching/cache/BundledShapeCache.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/prototype/caching/cache/BundledShapeCache.java -------------------------------------------------------------------------------- /src/refactoring_guru/prototype/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/prototype/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/prototype/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/prototype/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/prototype/example/shapes/Circle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/prototype/example/shapes/Circle.java -------------------------------------------------------------------------------- /src/refactoring_guru/prototype/example/shapes/Rectangle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/prototype/example/shapes/Rectangle.java -------------------------------------------------------------------------------- /src/refactoring_guru/prototype/example/shapes/Shape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/prototype/example/shapes/Shape.java -------------------------------------------------------------------------------- /src/refactoring_guru/proxy/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/proxy/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/proxy/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/proxy/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/proxy/example/downloader/YouTubeDownloader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/proxy/example/downloader/YouTubeDownloader.java -------------------------------------------------------------------------------- /src/refactoring_guru/proxy/example/proxy/YouTubeCacheProxy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/proxy/example/proxy/YouTubeCacheProxy.java -------------------------------------------------------------------------------- /src/refactoring_guru/proxy/example/some_cool_media_library/ThirdPartyYouTubeClass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/proxy/example/some_cool_media_library/ThirdPartyYouTubeClass.java -------------------------------------------------------------------------------- /src/refactoring_guru/proxy/example/some_cool_media_library/ThirdPartyYouTubeLib.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/proxy/example/some_cool_media_library/ThirdPartyYouTubeLib.java -------------------------------------------------------------------------------- /src/refactoring_guru/proxy/example/some_cool_media_library/Video.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/proxy/example/some_cool_media_library/Video.java -------------------------------------------------------------------------------- /src/refactoring_guru/singleton/example/non_thread_safe/DemoMultiThread.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/singleton/example/non_thread_safe/DemoMultiThread.java -------------------------------------------------------------------------------- /src/refactoring_guru/singleton/example/non_thread_safe/DemoSingleThread.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/singleton/example/non_thread_safe/DemoSingleThread.java -------------------------------------------------------------------------------- /src/refactoring_guru/singleton/example/non_thread_safe/OutputDemoMultiThread.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/singleton/example/non_thread_safe/OutputDemoMultiThread.txt -------------------------------------------------------------------------------- /src/refactoring_guru/singleton/example/non_thread_safe/OutputDemoSingleThread.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/singleton/example/non_thread_safe/OutputDemoSingleThread.txt -------------------------------------------------------------------------------- /src/refactoring_guru/singleton/example/non_thread_safe/Singleton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/singleton/example/non_thread_safe/Singleton.java -------------------------------------------------------------------------------- /src/refactoring_guru/singleton/example/thread_safe/DemoMultiThread.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/singleton/example/thread_safe/DemoMultiThread.java -------------------------------------------------------------------------------- /src/refactoring_guru/singleton/example/thread_safe/OutputDemoMultiThread.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/singleton/example/thread_safe/OutputDemoMultiThread.txt -------------------------------------------------------------------------------- /src/refactoring_guru/singleton/example/thread_safe/Singleton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/singleton/example/thread_safe/Singleton.java -------------------------------------------------------------------------------- /src/refactoring_guru/state/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/state/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/state/example/OutputDemo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/state/example/OutputDemo.png -------------------------------------------------------------------------------- /src/refactoring_guru/state/example/states/LockedState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/state/example/states/LockedState.java -------------------------------------------------------------------------------- /src/refactoring_guru/state/example/states/PlayingState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/state/example/states/PlayingState.java -------------------------------------------------------------------------------- /src/refactoring_guru/state/example/states/ReadyState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/state/example/states/ReadyState.java -------------------------------------------------------------------------------- /src/refactoring_guru/state/example/states/State.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/state/example/states/State.java -------------------------------------------------------------------------------- /src/refactoring_guru/state/example/ui/Player.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/state/example/ui/Player.java -------------------------------------------------------------------------------- /src/refactoring_guru/state/example/ui/UI.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/state/example/ui/UI.java -------------------------------------------------------------------------------- /src/refactoring_guru/strategy/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/strategy/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/strategy/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/strategy/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/strategy/example/order/Order.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/strategy/example/order/Order.java -------------------------------------------------------------------------------- /src/refactoring_guru/strategy/example/strategies/CreditCard.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/strategy/example/strategies/CreditCard.java -------------------------------------------------------------------------------- /src/refactoring_guru/strategy/example/strategies/PayByCreditCard.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/strategy/example/strategies/PayByCreditCard.java -------------------------------------------------------------------------------- /src/refactoring_guru/strategy/example/strategies/PayByPayPal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/strategy/example/strategies/PayByPayPal.java -------------------------------------------------------------------------------- /src/refactoring_guru/strategy/example/strategies/PayStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/strategy/example/strategies/PayStrategy.java -------------------------------------------------------------------------------- /src/refactoring_guru/template_method/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/template_method/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/template_method/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/template_method/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/template_method/example/networks/Facebook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/template_method/example/networks/Facebook.java -------------------------------------------------------------------------------- /src/refactoring_guru/template_method/example/networks/Network.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/template_method/example/networks/Network.java -------------------------------------------------------------------------------- /src/refactoring_guru/template_method/example/networks/Twitter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/template_method/example/networks/Twitter.java -------------------------------------------------------------------------------- /src/refactoring_guru/visitor/example/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/visitor/example/Demo.java -------------------------------------------------------------------------------- /src/refactoring_guru/visitor/example/OutputDemo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/visitor/example/OutputDemo.txt -------------------------------------------------------------------------------- /src/refactoring_guru/visitor/example/shapes/Circle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/visitor/example/shapes/Circle.java -------------------------------------------------------------------------------- /src/refactoring_guru/visitor/example/shapes/CompoundShape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/visitor/example/shapes/CompoundShape.java -------------------------------------------------------------------------------- /src/refactoring_guru/visitor/example/shapes/Dot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/visitor/example/shapes/Dot.java -------------------------------------------------------------------------------- /src/refactoring_guru/visitor/example/shapes/Rectangle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/visitor/example/shapes/Rectangle.java -------------------------------------------------------------------------------- /src/refactoring_guru/visitor/example/shapes/Shape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/visitor/example/shapes/Shape.java -------------------------------------------------------------------------------- /src/refactoring_guru/visitor/example/visitor/Visitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/visitor/example/visitor/Visitor.java -------------------------------------------------------------------------------- /src/refactoring_guru/visitor/example/visitor/XMLExportVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RefactoringGuru/design-patterns-java/HEAD/src/refactoring_guru/visitor/example/visitor/XMLExportVisitor.java --------------------------------------------------------------------------------