address (at least three) common problems, and the solution is then abstracted into a pattern. Antipatterns, on the other hand, identify common problems with solutions, and then show how to refactor the solution to get rid of the problem. Therefore, developing a antipattern is a top down process, where the (at least three) problems with a recurring solution are identified, and then a best practice refactoring of the solution is developed to address the problems. The problem, solution, and refactored solution then get put together into an antipattern. Figure 1 diffrentiates between patterns and antipatterns as well as shows their relationship. A pattern starts with a problem and documents a repeatable successful solution to it. The solution generates some benefits, consequences and possible problems. An antipattern demonstrates a frequently used solution to a problem that has a negative effect. The antipattern describes the causes that led to the worst practice and also shows
Mahesh H. Dodani