This document discusses several common anti-patterns in JavaServer Faces (JSF) development and provides solutions to avoid them. It covers issues like validating setters, dependency injection, thread safety, vendor lock-in, the Law of Demeter principle, and database performance problems like N+1 queries. The document is written by Dennis Byrne and provides best practices for building scalable and maintainable JSF applications.