https://elitedev.in/java/5-essential-java-design-patterns-for-scalable-soft/
5 Essential Java Design Patterns for Scalable Software Architecture