Object-oriented programming (OOP) is a programming paradigm based around the concept of "objects" which are data structures that contain both data and functionality in one self-contained creation. OOP involves the definition, creation, usage, and destruction of objects within an application or system. Object oriented programming was created to solve problems that were not practical with traditional procedural programming techniques. It was created to improve development time by reducing code redundancy, increasing reusability of code segments, improving program maintenance through encapsulation of functionality, and allowing for greater abstraction when defining software behavior.
This article cluster includes topics explaining object oriented best practices, design patterns, coding standards, and frameworks for writing object oriented code. Additional related topics include functional programming and single page applications (SPAs).