https://sharelearn.net/learn/courses/udemy-creationalpatternsinjava/
Learn Creational Design Patterns in Java