Показать сообщение отдельно
  #1 (permalink)  
Старый 12.12.2015, 19:59
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Наследоваться от Ext.data.Model или нет?
У меня есть классы геометрических примитивов: точка, линия, квадрат и пр.

Я хочу сделать, чтобы было две сущности:

1) модель примитива (хранит данные примитива и методы).
2) вид примитива (знает как этот примитив отобразить в окне браузера, например в контейнере SVG).

По сути аналог этому Grid: там модели строк и вид grid panel.

Сначала я хотел создавать модели путем наследования от класса Ext.data.Model. Но тут возникает сложность: класс Ext.data.Model имеет очень много всяких методов, которые могут совпасть с методами работы с геометрическим примитивом. Плюс некоторые методы могут появиться динамически (когда создаются связи между моделями).

Что посоветуете?

Наследовать от Ext.data.Model и потом мучаться чтобы не дай бог пересеклись названия методов и свойств?

Или создать модель разбить на две сущности: модель и геометрический примитив?

Во втором случае у модели будет метод getPrimitive(), а у примитива будет метод getModel(), чтобы иметь доступ и к данным и к геометрическим методам.
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием