The Bitter Java organization
Bitter Java presents some background information in chapters 1 and 2, and
subsequent chapters present a series of antipatterns. The patterns are collected
into themes. Chapters 3 and 4 focus on a design pattern called Model-View-
Controller, and an associated Java design pattern called the Triangle. Chapters
5 and 6 concentrate on optimizing memory and caching. Chapters 7 and 8
concentrate on EJB s and connections. Chapters 9 and 10 address program-
ming hygiene and good performance through scalability. The chapters are
organized in the following manner:
Background material for the chapter.
A basic description of the antipattern, including some of the root causes
Sample code illustrating the use of an antipattern.
One or more refactored solutions.
Sample code illustrating the refactored solution.
A summary containing the highlights of the chapter.
A list of all antipatterns covered in the chapter.
Antipatterns and templates
Each antipattern is presented twice: once in the main text, and once in tem-
plate form at the end of each chapter. The templates that we have chosen, both
within the chapters and at the end of most chapters, are based on the templates
suggested in the AntiPatterns book. Those in the chapter text choose a mini-
malist organization with the keyword antipattern followed by its name in a
heading, followed by some background material. Finally, we present a refac-
tored solution following the solution keyword. At the end of each chapter is a
more formal template, following the conventions in AntiPatterns . In this way,
we make this initial contribution to the initial collection of Java antipatterns.
If you are looking for particular technologies or techniques, this is where
to find them: