├── LICENSE ├── README.md ├── diagrams ├── adapter.interface.png ├── adapter.object.png ├── bridge.png ├── composite.png ├── decorator.png ├── dependency.png ├── factory.abstract.png ├── factory.method.png ├── iterator.separate.png ├── iterator.single.png ├── logo.png ├── observer.png ├── prototype.abstract.png ├── prototype.interface.png ├── singleton.classic.png ├── singleton.eager.png ├── singleton.synchronized.png ├── startegy.png └── state.png ├── oo_design_patterns.pages ├── oo_design_patterns.pdf └── src ├── adapter ├── inter │ ├── ClassDiagram.ucls │ ├── FormatAdapter.java │ ├── Main.java │ ├── MediaPackage.java │ ├── MediaPlayer.java │ ├── Mp3.java │ ├── Mp4.java │ └── Vlc.java └── object │ ├── Animal.java │ ├── ClassDiagram.ucls │ ├── Dog.java │ ├── Kangaroo.java │ ├── KangarooAdapter.java │ ├── Lion.java │ └── Main.java ├── bridge ├── AbstractShape.java ├── Blue.java ├── Circle.java ├── ClassDiagram.ucls ├── Color.java ├── Main.java ├── Rectangle.java └── Red.java ├── composite ├── Circle.java ├── ClassDiagram.ucls ├── Line.java ├── Main.java ├── Picture.java ├── Rectangle.java └── Shape.java ├── decorator ├── ClassDiagram.ucls ├── Decorator.java ├── Espresso.java ├── HotChocolate.java ├── Main.java ├── MenuItem.java ├── Milk.java └── Mocha.java ├── dependency ├── App.java ├── ClassDiagram.ucls ├── Database.java ├── Logger.java ├── Mail.java ├── Main.java └── Service.java ├── factory ├── abstr │ ├── Animal.java │ ├── AnimalFactory.java │ ├── BirdsFactory.java │ ├── Cat.java │ ├── ClassDiagram.ucls │ ├── Fox.java │ ├── Main.java │ ├── MammalsFactory.java │ └── Owl.java └── method │ ├── Animal.java │ ├── AnimalFactory.java │ ├── Cat.java │ ├── ClassDiagram.ucls │ ├── Dog.java │ └── Main.java ├── iterator ├── separate │ ├── ClassDiagram.ucls │ ├── ListIterator.java │ ├── Main.java │ └── MyList.java └── single │ ├── ClassDiagram.ucls │ ├── Main.java │ └── MyList.java ├── observer ├── ClassDiagram.ucls ├── Main.java ├── Newsletter.java └── Subscriber.java ├── prototype ├── abstr │ ├── Album.java │ ├── Book.java │ ├── ClassDiagram.ucls │ ├── Main.java │ ├── Movie.java │ ├── Product.java │ └── ProductFactory.java └── inter │ ├── Album.java │ ├── Book.java │ ├── ClassDiagram.ucls │ ├── Main.java │ ├── Movie.java │ ├── Product.java │ └── ProductFactory.java ├── singleton ├── classic │ ├── ClassDiagram.ucls │ ├── Database.java │ └── Main.java ├── eager │ ├── ClassDiagram.ucls │ ├── Database.java │ └── Main.java └── synchro │ ├── ClassDiagram.ucls │ ├── Database.java │ └── Main.java ├── state ├── ClassDiagram.ucls ├── Main.java ├── Microwave.java ├── PausedState.java ├── State.java ├── WaitingState.java └── WorkingState.java └── strategy ├── ClassDiagram.ucls ├── CreditCard.java ├── Customer.java ├── GoldCustomer.java ├── Main.java ├── PayPal.java ├── Payment.java └── SilverCustomer.java /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/README.md -------------------------------------------------------------------------------- /diagrams/adapter.interface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/adapter.interface.png -------------------------------------------------------------------------------- /diagrams/adapter.object.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/adapter.object.png -------------------------------------------------------------------------------- /diagrams/bridge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/bridge.png -------------------------------------------------------------------------------- /diagrams/composite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/composite.png -------------------------------------------------------------------------------- /diagrams/decorator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/decorator.png -------------------------------------------------------------------------------- /diagrams/dependency.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/dependency.png -------------------------------------------------------------------------------- /diagrams/factory.abstract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/factory.abstract.png -------------------------------------------------------------------------------- /diagrams/factory.method.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/factory.method.png -------------------------------------------------------------------------------- /diagrams/iterator.separate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/iterator.separate.png -------------------------------------------------------------------------------- /diagrams/iterator.single.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/iterator.single.png -------------------------------------------------------------------------------- /diagrams/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/logo.png -------------------------------------------------------------------------------- /diagrams/observer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/observer.png -------------------------------------------------------------------------------- /diagrams/prototype.abstract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/prototype.abstract.png -------------------------------------------------------------------------------- /diagrams/prototype.interface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/prototype.interface.png -------------------------------------------------------------------------------- /diagrams/singleton.classic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/singleton.classic.png -------------------------------------------------------------------------------- /diagrams/singleton.eager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/singleton.eager.png -------------------------------------------------------------------------------- /diagrams/singleton.synchronized.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/singleton.synchronized.png -------------------------------------------------------------------------------- /diagrams/startegy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/startegy.png -------------------------------------------------------------------------------- /diagrams/state.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/diagrams/state.png -------------------------------------------------------------------------------- /oo_design_patterns.pages: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/oo_design_patterns.pages -------------------------------------------------------------------------------- /oo_design_patterns.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/oo_design_patterns.pdf -------------------------------------------------------------------------------- /src/adapter/inter/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/adapter/inter/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/adapter/inter/FormatAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/adapter/inter/FormatAdapter.java -------------------------------------------------------------------------------- /src/adapter/inter/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/adapter/inter/Main.java -------------------------------------------------------------------------------- /src/adapter/inter/MediaPackage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/adapter/inter/MediaPackage.java -------------------------------------------------------------------------------- /src/adapter/inter/MediaPlayer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/adapter/inter/MediaPlayer.java -------------------------------------------------------------------------------- /src/adapter/inter/Mp3.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/adapter/inter/Mp3.java -------------------------------------------------------------------------------- /src/adapter/inter/Mp4.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/adapter/inter/Mp4.java -------------------------------------------------------------------------------- /src/adapter/inter/Vlc.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/adapter/inter/Vlc.java -------------------------------------------------------------------------------- /src/adapter/object/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/adapter/object/Animal.java -------------------------------------------------------------------------------- /src/adapter/object/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/adapter/object/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/adapter/object/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/adapter/object/Dog.java -------------------------------------------------------------------------------- /src/adapter/object/Kangaroo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/adapter/object/Kangaroo.java -------------------------------------------------------------------------------- /src/adapter/object/KangarooAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/adapter/object/KangarooAdapter.java -------------------------------------------------------------------------------- /src/adapter/object/Lion.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/adapter/object/Lion.java -------------------------------------------------------------------------------- /src/adapter/object/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/adapter/object/Main.java -------------------------------------------------------------------------------- /src/bridge/AbstractShape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/bridge/AbstractShape.java -------------------------------------------------------------------------------- /src/bridge/Blue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/bridge/Blue.java -------------------------------------------------------------------------------- /src/bridge/Circle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/bridge/Circle.java -------------------------------------------------------------------------------- /src/bridge/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/bridge/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/bridge/Color.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/bridge/Color.java -------------------------------------------------------------------------------- /src/bridge/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/bridge/Main.java -------------------------------------------------------------------------------- /src/bridge/Rectangle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/bridge/Rectangle.java -------------------------------------------------------------------------------- /src/bridge/Red.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/bridge/Red.java -------------------------------------------------------------------------------- /src/composite/Circle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/composite/Circle.java -------------------------------------------------------------------------------- /src/composite/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/composite/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/composite/Line.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/composite/Line.java -------------------------------------------------------------------------------- /src/composite/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/composite/Main.java -------------------------------------------------------------------------------- /src/composite/Picture.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/composite/Picture.java -------------------------------------------------------------------------------- /src/composite/Rectangle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/composite/Rectangle.java -------------------------------------------------------------------------------- /src/composite/Shape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/composite/Shape.java -------------------------------------------------------------------------------- /src/decorator/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/decorator/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/decorator/Decorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/decorator/Decorator.java -------------------------------------------------------------------------------- /src/decorator/Espresso.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/decorator/Espresso.java -------------------------------------------------------------------------------- /src/decorator/HotChocolate.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/decorator/HotChocolate.java -------------------------------------------------------------------------------- /src/decorator/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/decorator/Main.java -------------------------------------------------------------------------------- /src/decorator/MenuItem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/decorator/MenuItem.java -------------------------------------------------------------------------------- /src/decorator/Milk.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/decorator/Milk.java -------------------------------------------------------------------------------- /src/decorator/Mocha.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/decorator/Mocha.java -------------------------------------------------------------------------------- /src/dependency/App.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/dependency/App.java -------------------------------------------------------------------------------- /src/dependency/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/dependency/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/dependency/Database.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/dependency/Database.java -------------------------------------------------------------------------------- /src/dependency/Logger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/dependency/Logger.java -------------------------------------------------------------------------------- /src/dependency/Mail.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/dependency/Mail.java -------------------------------------------------------------------------------- /src/dependency/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/dependency/Main.java -------------------------------------------------------------------------------- /src/dependency/Service.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/dependency/Service.java -------------------------------------------------------------------------------- /src/factory/abstr/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/factory/abstr/Animal.java -------------------------------------------------------------------------------- /src/factory/abstr/AnimalFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/factory/abstr/AnimalFactory.java -------------------------------------------------------------------------------- /src/factory/abstr/BirdsFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/factory/abstr/BirdsFactory.java -------------------------------------------------------------------------------- /src/factory/abstr/Cat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/factory/abstr/Cat.java -------------------------------------------------------------------------------- /src/factory/abstr/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/factory/abstr/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/factory/abstr/Fox.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/factory/abstr/Fox.java -------------------------------------------------------------------------------- /src/factory/abstr/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/factory/abstr/Main.java -------------------------------------------------------------------------------- /src/factory/abstr/MammalsFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/factory/abstr/MammalsFactory.java -------------------------------------------------------------------------------- /src/factory/abstr/Owl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/factory/abstr/Owl.java -------------------------------------------------------------------------------- /src/factory/method/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/factory/method/Animal.java -------------------------------------------------------------------------------- /src/factory/method/AnimalFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/factory/method/AnimalFactory.java -------------------------------------------------------------------------------- /src/factory/method/Cat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/factory/method/Cat.java -------------------------------------------------------------------------------- /src/factory/method/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/factory/method/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/factory/method/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/factory/method/Dog.java -------------------------------------------------------------------------------- /src/factory/method/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/factory/method/Main.java -------------------------------------------------------------------------------- /src/iterator/separate/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/iterator/separate/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/iterator/separate/ListIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/iterator/separate/ListIterator.java -------------------------------------------------------------------------------- /src/iterator/separate/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/iterator/separate/Main.java -------------------------------------------------------------------------------- /src/iterator/separate/MyList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/iterator/separate/MyList.java -------------------------------------------------------------------------------- /src/iterator/single/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/iterator/single/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/iterator/single/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/iterator/single/Main.java -------------------------------------------------------------------------------- /src/iterator/single/MyList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/iterator/single/MyList.java -------------------------------------------------------------------------------- /src/observer/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/observer/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/observer/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/observer/Main.java -------------------------------------------------------------------------------- /src/observer/Newsletter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/observer/Newsletter.java -------------------------------------------------------------------------------- /src/observer/Subscriber.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/observer/Subscriber.java -------------------------------------------------------------------------------- /src/prototype/abstr/Album.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/prototype/abstr/Album.java -------------------------------------------------------------------------------- /src/prototype/abstr/Book.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/prototype/abstr/Book.java -------------------------------------------------------------------------------- /src/prototype/abstr/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/prototype/abstr/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/prototype/abstr/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/prototype/abstr/Main.java -------------------------------------------------------------------------------- /src/prototype/abstr/Movie.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/prototype/abstr/Movie.java -------------------------------------------------------------------------------- /src/prototype/abstr/Product.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/prototype/abstr/Product.java -------------------------------------------------------------------------------- /src/prototype/abstr/ProductFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/prototype/abstr/ProductFactory.java -------------------------------------------------------------------------------- /src/prototype/inter/Album.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/prototype/inter/Album.java -------------------------------------------------------------------------------- /src/prototype/inter/Book.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/prototype/inter/Book.java -------------------------------------------------------------------------------- /src/prototype/inter/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/prototype/inter/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/prototype/inter/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/prototype/inter/Main.java -------------------------------------------------------------------------------- /src/prototype/inter/Movie.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/prototype/inter/Movie.java -------------------------------------------------------------------------------- /src/prototype/inter/Product.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/prototype/inter/Product.java -------------------------------------------------------------------------------- /src/prototype/inter/ProductFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/prototype/inter/ProductFactory.java -------------------------------------------------------------------------------- /src/singleton/classic/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/singleton/classic/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/singleton/classic/Database.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/singleton/classic/Database.java -------------------------------------------------------------------------------- /src/singleton/classic/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/singleton/classic/Main.java -------------------------------------------------------------------------------- /src/singleton/eager/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/singleton/eager/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/singleton/eager/Database.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/singleton/eager/Database.java -------------------------------------------------------------------------------- /src/singleton/eager/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/singleton/eager/Main.java -------------------------------------------------------------------------------- /src/singleton/synchro/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/singleton/synchro/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/singleton/synchro/Database.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/singleton/synchro/Database.java -------------------------------------------------------------------------------- /src/singleton/synchro/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/singleton/synchro/Main.java -------------------------------------------------------------------------------- /src/state/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/state/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/state/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/state/Main.java -------------------------------------------------------------------------------- /src/state/Microwave.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/state/Microwave.java -------------------------------------------------------------------------------- /src/state/PausedState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/state/PausedState.java -------------------------------------------------------------------------------- /src/state/State.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/state/State.java -------------------------------------------------------------------------------- /src/state/WaitingState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/state/WaitingState.java -------------------------------------------------------------------------------- /src/state/WorkingState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/state/WorkingState.java -------------------------------------------------------------------------------- /src/strategy/ClassDiagram.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/strategy/ClassDiagram.ucls -------------------------------------------------------------------------------- /src/strategy/CreditCard.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/strategy/CreditCard.java -------------------------------------------------------------------------------- /src/strategy/Customer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/strategy/Customer.java -------------------------------------------------------------------------------- /src/strategy/GoldCustomer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/strategy/GoldCustomer.java -------------------------------------------------------------------------------- /src/strategy/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/strategy/Main.java -------------------------------------------------------------------------------- /src/strategy/PayPal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/strategy/PayPal.java -------------------------------------------------------------------------------- /src/strategy/Payment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/strategy/Payment.java -------------------------------------------------------------------------------- /src/strategy/SilverCustomer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OmarElgabry/DesignPatterns/HEAD/src/strategy/SilverCustomer.java --------------------------------------------------------------------------------