Ответ 1
Ember.Object - мать всех
Как указано в этой очень показательной статье в Ember.Object:
Почти каждый объект в Ember.js происходит от общего объекта: Ember.Object. Этот объект используется в качестве основы для представлений, контроллеров, моделей и даже самого приложения.
Это простое архитектурное решение отвечает за большую согласованность между Ember. Поскольку каждый объект был получен из одного и того же основного объекта, все они имеют некоторые основные возможности. Каждый объект Ember может наблюдать свойства других объектов, связывать их свойства со свойствами других объектов, указывать и обновлять вычисленные свойства и многое другое.
Теперь о различиях и использовании их в зависимости от вашего варианта использования.
Ember.Object
- - это ember.js основной класс для всех объектов Ember. Это подкласс
Ember.CoreObject
с примененным микшированиемEmber.Observable
. - вы используете его для создания произвольных объектов, этот класс также является основой для возможности привязки данных.
Ember.Model
- используется ember-model lib и расширяет
Ember.Object
- вы используете этот класс для определения модели, если вы используете модель ember как вашу библиотеку персистентности
DS.Model
- используется ember-datastrong > и это базовый класс системы ORM, который также распространяется из
Ember.Object
- вы используете его, когда используете ember-data в качестве вашей библиотеки персистентности, чтобы определить свои модели и отношения и т.д.
Надеюсь, что это поможет.