├── .gitignore ├── .markdownlint.json ├── Java ├── Behavioural │ ├── Command │ │ ├── Examples │ │ │ └── Calculator │ │ │ │ ├── Add.java │ │ │ │ ├── Calculator.java │ │ │ │ ├── Command.java │ │ │ │ ├── Divide.java │ │ │ │ ├── Main.java │ │ │ │ ├── Multiply.java │ │ │ │ └── Subtract.java │ │ └── README.md │ ├── Iterator │ │ ├── Examples │ │ │ └── Books │ │ │ │ ├── Book.java │ │ │ │ ├── BooksCollection.java │ │ │ │ ├── IContainer.java │ │ │ │ ├── Iterator.java │ │ │ │ └── Main.java │ │ └── README.md │ └── Observer │ │ ├── Examples │ │ └── Weather │ │ │ ├── Application.java │ │ │ ├── Main.java │ │ │ ├── Weather.java │ │ │ ├── WeatherObserver.java │ │ │ └── WeatherType.java │ │ └── README.md ├── Creational │ ├── Simple-Factory │ │ ├── Examples │ │ │ ├── Cake │ │ │ │ ├── Cake.java │ │ │ │ ├── CakeFactory.java │ │ │ │ ├── ChocolateCake.java │ │ │ │ ├── Flavour.java │ │ │ │ ├── Main.java │ │ │ │ ├── Shape.java │ │ │ │ └── VanillaCake.java │ │ │ └── Shapes │ │ │ │ ├── Line.java │ │ │ │ ├── Main.java │ │ │ │ ├── Polygon.java │ │ │ │ ├── Rectangle.java │ │ │ │ ├── ShapeFactory.java │ │ │ │ └── Triangle.java │ │ └── README.md │ └── Singleton │ │ ├── Examples │ │ └── Random │ │ │ ├── Main.java │ │ │ └── Random.java │ │ └── README.md └── Structural │ ├── Adapter │ ├── Examples │ │ └── Felidae │ │ │ ├── Cat.java │ │ │ ├── CatAdapter.java │ │ │ ├── Felidae.java │ │ │ ├── Lion.java │ │ │ ├── Main.java │ │ │ └── Tiger.java │ └── README.md │ └── Composite │ ├── Examples │ └── Car │ │ ├── CarComposite.java │ │ ├── CarElement.java │ │ ├── CarPart.java │ │ └── Main.java │ └── README.md ├── LICENSE ├── Python └── Creational │ └── Simple-Factory │ └── Examples │ └── Cake │ ├── Cake.py │ ├── CakeFactory.py │ ├── ChocolateCake.py │ ├── VanillaCake.py │ └── main.py ├── README.md ├── Typescript └── Creational │ └── Simple-Factory │ ├── Examples │ └── Cake │ │ ├── Cake.ts │ │ ├── CakeFactory.ts │ │ ├── ChocolateCake.ts │ │ ├── VanillaCake.ts │ │ └── index.ts │ └── README.md ├── assets ├── Adapter.jpeg ├── Banner.svg ├── Car-composite-parts.png └── Observer.png └── resources ├── Design-patterns-Relationships.jpg ├── Gang of Four - Design Patterns - Elements of Reusable Object-Oriented Software.pdf └── Head First Design Patterns.pdf /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | .local -------------------------------------------------------------------------------- /.markdownlint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/.markdownlint.json -------------------------------------------------------------------------------- /Java/Behavioural/Command/Examples/Calculator/Add.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Command/Examples/Calculator/Add.java -------------------------------------------------------------------------------- /Java/Behavioural/Command/Examples/Calculator/Calculator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Command/Examples/Calculator/Calculator.java -------------------------------------------------------------------------------- /Java/Behavioural/Command/Examples/Calculator/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Command/Examples/Calculator/Command.java -------------------------------------------------------------------------------- /Java/Behavioural/Command/Examples/Calculator/Divide.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Command/Examples/Calculator/Divide.java -------------------------------------------------------------------------------- /Java/Behavioural/Command/Examples/Calculator/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Command/Examples/Calculator/Main.java -------------------------------------------------------------------------------- /Java/Behavioural/Command/Examples/Calculator/Multiply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Command/Examples/Calculator/Multiply.java -------------------------------------------------------------------------------- /Java/Behavioural/Command/Examples/Calculator/Subtract.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Command/Examples/Calculator/Subtract.java -------------------------------------------------------------------------------- /Java/Behavioural/Command/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Command/README.md -------------------------------------------------------------------------------- /Java/Behavioural/Iterator/Examples/Books/Book.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Iterator/Examples/Books/Book.java -------------------------------------------------------------------------------- /Java/Behavioural/Iterator/Examples/Books/BooksCollection.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Iterator/Examples/Books/BooksCollection.java -------------------------------------------------------------------------------- /Java/Behavioural/Iterator/Examples/Books/IContainer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Iterator/Examples/Books/IContainer.java -------------------------------------------------------------------------------- /Java/Behavioural/Iterator/Examples/Books/Iterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Iterator/Examples/Books/Iterator.java -------------------------------------------------------------------------------- /Java/Behavioural/Iterator/Examples/Books/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Iterator/Examples/Books/Main.java -------------------------------------------------------------------------------- /Java/Behavioural/Iterator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Iterator/README.md -------------------------------------------------------------------------------- /Java/Behavioural/Observer/Examples/Weather/Application.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Observer/Examples/Weather/Application.java -------------------------------------------------------------------------------- /Java/Behavioural/Observer/Examples/Weather/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Observer/Examples/Weather/Main.java -------------------------------------------------------------------------------- /Java/Behavioural/Observer/Examples/Weather/Weather.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Observer/Examples/Weather/Weather.java -------------------------------------------------------------------------------- /Java/Behavioural/Observer/Examples/Weather/WeatherObserver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Observer/Examples/Weather/WeatherObserver.java -------------------------------------------------------------------------------- /Java/Behavioural/Observer/Examples/Weather/WeatherType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Observer/Examples/Weather/WeatherType.java -------------------------------------------------------------------------------- /Java/Behavioural/Observer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Behavioural/Observer/README.md -------------------------------------------------------------------------------- /Java/Creational/Simple-Factory/Examples/Cake/Cake.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Simple-Factory/Examples/Cake/Cake.java -------------------------------------------------------------------------------- /Java/Creational/Simple-Factory/Examples/Cake/CakeFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Simple-Factory/Examples/Cake/CakeFactory.java -------------------------------------------------------------------------------- /Java/Creational/Simple-Factory/Examples/Cake/ChocolateCake.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Simple-Factory/Examples/Cake/ChocolateCake.java -------------------------------------------------------------------------------- /Java/Creational/Simple-Factory/Examples/Cake/Flavour.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Simple-Factory/Examples/Cake/Flavour.java -------------------------------------------------------------------------------- /Java/Creational/Simple-Factory/Examples/Cake/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Simple-Factory/Examples/Cake/Main.java -------------------------------------------------------------------------------- /Java/Creational/Simple-Factory/Examples/Cake/Shape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Simple-Factory/Examples/Cake/Shape.java -------------------------------------------------------------------------------- /Java/Creational/Simple-Factory/Examples/Cake/VanillaCake.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Simple-Factory/Examples/Cake/VanillaCake.java -------------------------------------------------------------------------------- /Java/Creational/Simple-Factory/Examples/Shapes/Line.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Simple-Factory/Examples/Shapes/Line.java -------------------------------------------------------------------------------- /Java/Creational/Simple-Factory/Examples/Shapes/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Simple-Factory/Examples/Shapes/Main.java -------------------------------------------------------------------------------- /Java/Creational/Simple-Factory/Examples/Shapes/Polygon.java: -------------------------------------------------------------------------------- 1 | public interface Polygon { 2 | void draw(); 3 | } 4 | -------------------------------------------------------------------------------- /Java/Creational/Simple-Factory/Examples/Shapes/Rectangle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Simple-Factory/Examples/Shapes/Rectangle.java -------------------------------------------------------------------------------- /Java/Creational/Simple-Factory/Examples/Shapes/ShapeFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Simple-Factory/Examples/Shapes/ShapeFactory.java -------------------------------------------------------------------------------- /Java/Creational/Simple-Factory/Examples/Shapes/Triangle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Simple-Factory/Examples/Shapes/Triangle.java -------------------------------------------------------------------------------- /Java/Creational/Simple-Factory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Simple-Factory/README.md -------------------------------------------------------------------------------- /Java/Creational/Singleton/Examples/Random/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Singleton/Examples/Random/Main.java -------------------------------------------------------------------------------- /Java/Creational/Singleton/Examples/Random/Random.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Singleton/Examples/Random/Random.java -------------------------------------------------------------------------------- /Java/Creational/Singleton/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Creational/Singleton/README.md -------------------------------------------------------------------------------- /Java/Structural/Adapter/Examples/Felidae/Cat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Structural/Adapter/Examples/Felidae/Cat.java -------------------------------------------------------------------------------- /Java/Structural/Adapter/Examples/Felidae/CatAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Structural/Adapter/Examples/Felidae/CatAdapter.java -------------------------------------------------------------------------------- /Java/Structural/Adapter/Examples/Felidae/Felidae.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Structural/Adapter/Examples/Felidae/Felidae.java -------------------------------------------------------------------------------- /Java/Structural/Adapter/Examples/Felidae/Lion.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Structural/Adapter/Examples/Felidae/Lion.java -------------------------------------------------------------------------------- /Java/Structural/Adapter/Examples/Felidae/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Structural/Adapter/Examples/Felidae/Main.java -------------------------------------------------------------------------------- /Java/Structural/Adapter/Examples/Felidae/Tiger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Structural/Adapter/Examples/Felidae/Tiger.java -------------------------------------------------------------------------------- /Java/Structural/Adapter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Structural/Adapter/README.md -------------------------------------------------------------------------------- /Java/Structural/Composite/Examples/Car/CarComposite.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Structural/Composite/Examples/Car/CarComposite.java -------------------------------------------------------------------------------- /Java/Structural/Composite/Examples/Car/CarElement.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Structural/Composite/Examples/Car/CarElement.java -------------------------------------------------------------------------------- /Java/Structural/Composite/Examples/Car/CarPart.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Structural/Composite/Examples/Car/CarPart.java -------------------------------------------------------------------------------- /Java/Structural/Composite/Examples/Car/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Structural/Composite/Examples/Car/Main.java -------------------------------------------------------------------------------- /Java/Structural/Composite/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Java/Structural/Composite/README.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/LICENSE -------------------------------------------------------------------------------- /Python/Creational/Simple-Factory/Examples/Cake/Cake.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Python/Creational/Simple-Factory/Examples/Cake/Cake.py -------------------------------------------------------------------------------- /Python/Creational/Simple-Factory/Examples/Cake/CakeFactory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Python/Creational/Simple-Factory/Examples/Cake/CakeFactory.py -------------------------------------------------------------------------------- /Python/Creational/Simple-Factory/Examples/Cake/ChocolateCake.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Python/Creational/Simple-Factory/Examples/Cake/ChocolateCake.py -------------------------------------------------------------------------------- /Python/Creational/Simple-Factory/Examples/Cake/VanillaCake.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Python/Creational/Simple-Factory/Examples/Cake/VanillaCake.py -------------------------------------------------------------------------------- /Python/Creational/Simple-Factory/Examples/Cake/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Python/Creational/Simple-Factory/Examples/Cake/main.py -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/README.md -------------------------------------------------------------------------------- /Typescript/Creational/Simple-Factory/Examples/Cake/Cake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Typescript/Creational/Simple-Factory/Examples/Cake/Cake.ts -------------------------------------------------------------------------------- /Typescript/Creational/Simple-Factory/Examples/Cake/CakeFactory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Typescript/Creational/Simple-Factory/Examples/Cake/CakeFactory.ts -------------------------------------------------------------------------------- /Typescript/Creational/Simple-Factory/Examples/Cake/ChocolateCake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Typescript/Creational/Simple-Factory/Examples/Cake/ChocolateCake.ts -------------------------------------------------------------------------------- /Typescript/Creational/Simple-Factory/Examples/Cake/VanillaCake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Typescript/Creational/Simple-Factory/Examples/Cake/VanillaCake.ts -------------------------------------------------------------------------------- /Typescript/Creational/Simple-Factory/Examples/Cake/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Typescript/Creational/Simple-Factory/Examples/Cake/index.ts -------------------------------------------------------------------------------- /Typescript/Creational/Simple-Factory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/Typescript/Creational/Simple-Factory/README.md -------------------------------------------------------------------------------- /assets/Adapter.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/assets/Adapter.jpeg -------------------------------------------------------------------------------- /assets/Banner.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/assets/Banner.svg -------------------------------------------------------------------------------- /assets/Car-composite-parts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/assets/Car-composite-parts.png -------------------------------------------------------------------------------- /assets/Observer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/assets/Observer.png -------------------------------------------------------------------------------- /resources/Design-patterns-Relationships.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/resources/Design-patterns-Relationships.jpg -------------------------------------------------------------------------------- /resources/Gang of Four - Design Patterns - Elements of Reusable Object-Oriented Software.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/resources/Gang of Four - Design Patterns - Elements of Reusable Object-Oriented Software.pdf -------------------------------------------------------------------------------- /resources/Head First Design Patterns.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abd-Beltaji/design-patterns-in-arabic/HEAD/resources/Head First Design Patterns.pdf --------------------------------------------------------------------------------