Useful design patterns for refactoring code bases | Dark Hacker News