On Mar 16, 2012, at 18:12, "Rick Waldron" 
<[email protected]<mailto:[email protected]>> wrote:



On Fri, Mar 16, 2012 at 6:04 PM, David Bruant 
<[email protected]<mailto:[email protected]>> wrote:
Le 16/03/2012 23:00, Rick Waldron a écrit :
On Fri, Mar 16, 2012 at 5:12 PM, Domenic Denicola 
<[email protected]<mailto:[email protected]>> wrote:
Just to contribute to this... er... fun-thread...

My team uses the closure pattern for our "classes" (i.e. no prototype methods 
at all), since we value encapsulation. I can't imagine we're alone.

For my own curiosity, can you point me to some examples where you are 
strategically avoiding the use of the prototype pattern?
When he needs actual encapsulation.
Unfortunately, methods on prototype require to have properties that are public.

If you avoid prototype methods, all your attributes and private methods can be 
shared by public method scopes.

Sorry, I don't subscribe to this as an adequate argument against prototypes. 
jQuery has a whole lot of hidden, private functions and data - using an IIFE. 
Ultimately, the developer makes the decision to write well encapsulated code - 
prototype or closure pattern should have no bearing.

Rick




David


That only works for singleton modules, not multi-instance classes.

WeakMaps and private names both provide solutions for associating private data 
to an instance, without abandoning prototypes, but that brings me back to my 
original point: class sugar must make such association easier than manual 
`Name.create()` usage, on par with the ease of the closure pattern.
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to