News for hackers. Stuff that matters.
Re:Why does Ember.js rock? by agilebyte on Sunday August 04, 2013 @07:45AM (#6155361)
I would create a global mediator:

    export var mediator = _.extend({}, Backbone.Events);
And then use it to listen to messages in Views:

    m.mediator.on('change:page change:sort change:tags', this.renderTable, this);
And fire them from Models/Collections:

    m.mediator.trigger('change:sort', sortOrder);
Instead of listening to changes on them:

    this.paginator.bind('change', fn, this);
So I can plug & play different parts of the system together.

Edit: A link from Addy Osmani: http://addyosmani.com/largescalejavascript/#mediatorpattern

Re:Why does Ember.js rock? by steveklabnik on Sunday August 04, 2013 @10:25AM (#6155734)
Have you tried out functional reactive programming? How does it compare to the mediator?
Re:Why does Ember.js rock? by agilebyte on Sunday August 04, 2013 @11:11AM (#6155859)
You mean like Bacon.js? I have not, yet. Looking at it now it seems that it is used for filtering/mapping/combining values?

The messages I send are more light weight and usually say "this has happened" to which a View would respond by re-rendering itself or its part rather then me directly passing whole Models and Collections around.

Re:Why does Ember.js rock? by steveklabnik on Sunday August 04, 2013 @03:22PM (#6156739)
Yup! It sounds quite a bit like your mediator: make a stream, send events in the stream, certain things respond to the stream.

Check out this talk: http://vimeo.com/68987289