This document discusses design patterns and selecting appropriate patterns based on business requirements. It provides an overview of design patterns available in TheServerSide.com pattern catalog, which are organized into categories like EJB layer architectural patterns, inter-tier data transfer patterns, transaction and persistence patterns, and client-side EJB interaction patterns. Examples of patterns in each category are described. Best practices for developing class diagrams and using proven design patterns are also mentioned.