- From: Glenn Maynard <glenn@zewt.org>
- Date: Tue, 29 Jan 2013 18:13:01 -0600
- To: Stewart Brodie <stewart.brodie@antplc.com>
- Cc: whatwg@whatwg.org
On Jan 29, 2013 12:07 PM, "Stewart Brodie" <stewart.brodie@antplc.com> wrote: > For example, how can you add event listeners to something that doesn't > exist yet? Particularly if you want to use a closure with the new object. > The same way as always: just attach the listener. You can't "miss" events, since it's guaranteed that no events will be fired before returning to the event loop. This is a universal idiom on the platform, FYI. > Having objects that begin their job when constructed simply avoids an > > extra step for the user (telling it to start), and reduces the number of > > possible states (eg. eliminating the UNSENT state), which generally > > simplifies things. Supporting reuse of objects is generally not a useful > > optimization (in my experience), so not supporting it also simplifies > > things a bit. Reducing the number of different-but-equivalent ways of > > doing the same thing is also generally good API design. > > I agree - but I don't see what this has to do with separating construction > from activation. > Object reuse was given as an argument to having a separate send() method, but allowing object reuse is a bad thing unless there are compelling use cases for supporting it. On Tue, Jan 29, 2013 at 12:26 PM, Elliott Sprehn <esprehn@gmail.com> wrote: > With notifications I can't look at the properties of a > notification in the web inspector without having it show on me... > It doesn't matter if it's being shown or not, if you're just debugging. Constructors are not verbs. new Notification doesn't mean "show", and new > XMLHttpRequest doesn't mean "send". > I disagree. > This is pretty standard OO best practices stuff. I disagree. Unless you give arguments rather than assertions, there's nothing to argue against, so all I can do is state my disagreement. Constructors are essentially nothing but a different syntax for a function that returns an object of the same type. Some languages, like Python, don't even differentiate the syntax. There's no implication about side-effects one way or the other. -- Glenn Maynard
Received on Wednesday, 30 January 2013 00:13:25 UTC