Наследоваться от 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.
|