On Saturday, March 23, 2013 5:22:12 PM UTC-7, Rick Waldron wrote: > Why do module authors make gross factory APIs? > > Instead of wrapping the export in this icky "createLogger" method, that > doesn't do _anything_ (one assumes a factory exists to provide some > additional layer of logic over the base constructor, or else what is the > point?), why not export the constructor? > > var logger = new bunyan.Logger(); > > Yay, much nicer. >
It's something of an imposition on downstream consumers of a library to need to remember which functions return objects and which instantiate instances. I like it much better when modules just expose functions that return objects. Whether or not some "constructor" or "factory" is at work is not something that I as a module consumer should need to care about because that is an implementation detail that the module author should be concerned with, not me as the consumer. -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
