Backbone.Model • Representa uma entidade retornada pelo servidor. • Responsável pelas conversões, validações, propriedades computadas, controles de acesso. • Acesso as propriedades através de get/set.
Backbone.Collection • Uma coleção de modelos. • Você pode ser notificado quando novos itens são adicionados ou removidos da lista através dos eventos “add”, “remove”, “reset”. • Recuperar uma coleção de dados do servidor através do método .fetch(). • Acesso aos métodos do underscore, ex: collection.sortBy.
Backbone.View • Não contém marcação HTML da sua aplicação e sim a lógica de apresentação entre os dados do modelo para o usuário. • Pode ser usado com qualquer template engine(underscore, mustache, etc.). • Você pode se inscrever no evento “change” do modelo, para atualizar a view sempre que o mesmo sofrer alterações.
Backbone.Events • Funciona como inversão de controle. Ao invés de ter funções injetadas dentro das chamadas dos métodos, você pode classes observando determinados eventos.
Testes • Garantir que os retornos dos métodos estejam de acordo com as expectativas. • Isso permite que os desenvolvedores alterem o código com mais confiança, reduzindo a preocupação de quebrar algo em produção.