Design Patterns – Elements of Reusable Object-Oriented SoftwareSource: https://drive.google.com/file/d/1f_Kd9sFIfd7N_et0zemTeWXQFSaPnUc3/view?usp=drive_link