For my own practice and to help other programmers I decided to implement several Design Patterns in Java. I hope you like it and you will find it helpful. If you have any suggestions how can I write something better please create pull request or message me
The design patterns are descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context (Gang Of Four, 1994 ).
Because they solve problems. You do not need to invent solution that is already working. How many times during your programmer career you had this feeling that you already solved problem that you are facing now? Same goes with patterns you have problem that could be solved using specific pattern. Keep in mind that you should not force your code to fit in patterns. It should come out naturally.