Գրեք սա: Refactoring to patterns / Joshua Kerievsky.