Design patterns, anti-patterns and refactoring | Hacker News Reader