The beauty of the pattern is that it simply uses the language as designed – nothing more, nothing less, no tricks, no sugar. Moreover because the namespace is injected via the this keyword (which is static within a given execution context) it cannot be accidentally modified.
OOPs. If you got damaged by too much Java coding, take a quick read of Nick Fitzgerald’s OOP The Good Parts:
… we should recognize that OOP does not need to be an all or nothing proposition. You can take the parts that are beneficial to you (such as message passing, encapsulation, and composition) and leave the parts which you may not require (such as inheritance).
Debtless. OTOH this post may speak Java and is titled like an infomercial, but you can apply the principles to other languages. From How To Fix Your Software’s Technical Debt, Program Faster, And Spend More Of Your Time Writing Useful Code:
Complexity is easy to add. One developer adds a slightly complex method and then another adds one more condition. Then you need a special case for one more condition. And one more. Go through a couple of iterations and your code path is a maze of back alleys and dead ends.
Labyrinthine code is a sanctuary for bugs, but it’s something worse. Complex code is immovable code. Bringing new developers up to speed takes months and even the experienced ones can’t move the project very far.
How I work. Not me personally, but the people who screencasted their productivity tips to the How I Work web site.
Be all that you can be. Graceless Degradation is a WordPress plugin that gives visitors still using Internet Explorer 6 an appropriate user experience: Comic Sans font, blink tag, animated mailbox and more. Check it out.
While you’re at it, check out these .. ahem .. non-conventional UI examples from the Mac App Store, at Read the fucking HIG.
And while you’re feeling superior, test your level of science spotting at arXiv vs snarXiv.