This document discusses three object-oriented design patterns: Hide Method, Replace Constructor with Factory Method, and Encapsulate Downcast. It proposes hiding a method, replacing a constructor with a factory method that returns the type of object based on parameters, and encapsulating downcasting within a method to avoid errors.