This document discusses the concept of object oriented software development and explores the use of creational design patterns such as builder, prototype, singleton, abstract factory, and factory method. It also explains the proxy pattern and composite pattern in the context of compute price and checkout. The document provides pseudocode examples and class diagrams for better understanding.