diff --git a/README.md b/README.md index c44f7a3..fe8867b 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,40 @@ -[![Java CI with Maven](https://github.com/ibrahimatay/Design-Patterns/actions/workflows/maven.yml/badge.svg)](https://github.com/ibrahimatay/Design-Patterns/actions/workflows/maven.yml) [![.NET](https://github.com/ibrahimatay/Design-Patterns/actions/workflows/dotnet.yml/badge.svg)](https://github.com/ibrahimatay/Design-Patterns/actions/workflows/dotnet.yml) +[![Java CI with Maven](https://github.com/ibrahimatay/Design-Patterns/actions/workflows/maven.yml/badge.svg)](https://github.com/ibrahimatay/Design-Patterns/actions/workflows/maven.yml) # Design Patterns For Humans -Examples of design patterns in Java and C# are presented in a way that is easy for humans to understand and implement. The purpose of these examples is to provide a practical and intuitive guide to the use of design patterns in Java, helping developers improve their skills and create more effective and maintainable software. +Examples of design patterns in Java is presented in a way that is easy for humans to understand and implement. The purpose of these examples is to provide a practical and intuitive guide to the use of design patterns in Java, helping developers improve their skills and create more effective and maintainable software. ![image](/docs/images/desing-pattern-relationships.jpeg) ## ***Creational*** -- Factory Method ([Java](/Java/factory-method), [C#](/Csharp/DesignPatterns.FactoryMethod)) -- Abstract Factory ([Java](/Java/abstract-factory), [C#](/Csharp/DesignPatterns.AbstractFactory)) -- Builder ([Java](/Java/builder), [C#](/Csharp/DesignPatterns.Builder)) -- Prototype ([Java](/Java/prototype), [C#](/Csharp/DesignPatterns.Prototype)) +- [Factory Method](/factory-method/src/main/java/com/ibrahimatay/Main.java) +- [Abstract Factory](/abstract-factory/src/main/java/com/ibrahimatay/Main.java) +- [Builder](/builder/src/main/java/com/ibrahimatay/Main.java) +- [Prototype](/prototype/src/main/java/com/ibrahimatay/Main.java) - Singleton - - Eager Instantiation ([Java](/Java/singleton-eager-instantiation), [C#](/Csharp/DesignPatterns.SingletonEagerInstantiation)) - - Lazy Instantiation ([Java](/Java/singleton-lazy-instantiation), [C#](/Csharp/DesignPatterns.SingletonLazyInitialization)) - - Enum-based Singleton ([Java](/Java/singleton-with-enum)) - - Double-Checked Locking with Singleton ([C#](/Csharp/DesignPatterns.DoubleCheckedLockingwithSingleton/)) + - [Eager Instantiation](/singleton-eager-instantiation/src/main/java/com/ibrahimatay/Main.java) + - [Lazy Instantiation](/singleton-lazy-instantiation/src/main/java/com/ibrahimatay/Main.java), + - [Enum-based Singleton](/singleton-with-enum/src/main/java/com/ibrahimatay/Main.java) ## ***Structural*** -- Adapter ([Java](/Java/adapter), [C#](/Csharp/DesignPatterns.Adapter)) -- Proxy ([Java](/Java/proxy), [C#](/Csharp/DesignPatterns.Proxy)) -- Facade ([Java](/Java/facade), [C#](/Csharp/DesignPatterns.Facade)) -- Composite ([Java](/Java/composite), [C#](/Csharp/DesignPatterns.Composite)) -- Bridge ([Java](/Java/bridge), [C#](/Csharp/DesignPatterns.Bridge)) -- Flyweight ([Java](/Java/flyweight), [C#](/Csharp/DesignPatterns.Flyweight)) -- Decorator ([Java](/Java/decorator), [C#](/Csharp/DesignPatterns.Decorator)) +- [Adapter](/adapter/src/main/java/com/ibrahimatay/Main.java) +- [Proxy](/proxy/src/main/java/com/ibrahimatay/Main.java) +- [Facade](/facade/src/main/java/com/ibrahimatay/Main.java) +- [Composite](/composite/src/main/java/com/ibrahimatay/Main.java) +- [Bridge](/bridge/src/main/java/com/ibrahimatay/Main.java) +- [Flyweight](/flyweight/src/main/java/com/ibrahimatay/Main.java) +- [Decorator](/decorator/src/main/java/com/ibrahimatay/Main.java) ## ***Behavioral*** -- Command ([Java](/Java/command), [C#](/Csharp/DesignPatterns.Command)) -- Iterator ([Java](/Java/iterator), [C#](/Csharp/DesignPatterns.Iterator)) -- Memento ([Java](/Java/memento), [C#](/Csharp/DesignPatterns.Memento)) -- Observer ([Java](/Java/observer) [C#](/Csharp/DesignPatterns.Observer)) -- Strategy ([Java](/Java/strategy), [C#](/Csharp/DesignPatterns.Strategy)) -- Template Method ([Java](/Java/template-method), [C#](/Csharp/DesignPatterns.TemplateMethod)) -- Visitor ([Java](/Java/visitor), [C#](/Csharp/DesignPatterns.Visitor)) -- Chain of Responsibility ([Java](/Java/chain-of-responsibility), [C#](/Csharp/DesignPatterns.ChainOfResponsibility)) -- Pipeline ([Java](/Java/pipeline), [C#](/Csharp/DesignPatterns.Pipeline)) -- State ([Java](/Java/state), [C#](/Csharp/DesignPatterns.State)) -- Mediator ([Java](/Java/mediator), [C#](/Csharp/DesignPatterns.Mediator)) +- [Command](/command/src/main/java/com/ibrahimatay/Main.java) +- [Iterator](/iterator/src/main/java/com/ibrahimatay/Main.java) +- [Memento](/memento/src/main/java/com/ibrahimatay/Main.java) +- [Observer](/observer/src/main/java/com/ibrahimatay/Main.java) +- [Strategy](/strategy/src/main/java/com/ibrahimatay/Main.java) +- [Template Method](/template-method/src/main/java/com/ibrahimatay/Main.java) +- [Visitor](/visitor/src/main/java/com/ibrahimatay/Main.java) +- [Chain of Responsibility](/chain-of-responsibility/src/main/java/com/ibrahimatay/Main.java) +- [Pipeline](/pipeline/src/main/java/com/ibrahimatay/Main.java) +- [State](/state/src/main/java/com/ibrahimatay/Main.java) +- [Mediator](/mediator/src/main/java/com/ibrahimatay/Main.java) ## References Design patterns in this repository are based on