235 karma · joined December 3, 2010
I'm guessing you're referring to Crockford's pattern (IIRC he calls it a "functional constructor" in JS:tGP), which is generally the same, but the function is instead executed when an object is instantiated with it.
It's a small distinction, but your drawbacks don't apply to the module pattern as I understand it, since the function is only executed once.
As I see it, the main benefit of design patterns is that they give developers a common vocabulary for different types of object composition. This can save time when reading code if an object's name or comments reference the design pattern(s) used.
map! <C-h> <esc>:bp<CR>
map <C-h> :bp<CR>
map! <C-l> <esc>:bn<CR>
map <C-l> :bn<CR>
This lets me keep my fingers on home row. Combined with MiniBufExplorer [1], I find it provides a more convenient tab system than Vim's built-in tabs.(edit) It also works in the terminal, which is a big plus for me. I like to have the same keybindings when editing remotely.
It's kind of a dumb way to think of it, but it seems to work for me.