JavaScript Design Patterns: Factory, Singleton, and Observer | DevPrep