In this episode I explain the difference between OOP and OOAD or object-oriented programming and object-oriented analysis and design ways of thinking. we explore the limitations of OOP and its thought process and explain the motivation behind studying design patterns from first principles.