Regarding Singletons, Steve Yegge writes:
In my Data Structures course in college, when we got to AVL trees, my prof turned and wrote on the board, in huge, clear letters:
AVL Trees are EVIL
...and that's all we had to learn about them. He had us implement red/black trees and splay trees instead. To this day, I have no idea how threaded AVL trees work. But if that's OK with Dan Weld, it's OK with me.
But now I know how he felt.
Steve, Steve. Follow Mr. Weld’s example. Or you could just point people toward “Test-Driven Development By Example”, since Mr. Beck has already covered this one pretty well:
"How do you provide global variables in languages without global variables? Don't. Your programs will thank you for taking the time to think about design instead."