In this project-based series, we will learn to implement a factory, abstract factory, repository, unit of work, prototype, adapter, decorator, iterator, memento, mediator, builder pattern, composite pattern, singleton, observer, interpreter pattern, etc.