В новом проекте Angular / Ionic, над которым я работаю, множество моделей определены в одном файле .model.ts следующим образом.
export class Order {
constructor(
public OrderId?: string,
public Items?: string[],
) {}
}
export class OrderStatus {
constructor(
public OrderId?: string,
public __str__: string,
) {}
}
И импортируется в другие файлы, используя
import { Order, OrderStatus } from 'src/app/.../models/orders/orders.model.ts';
, что является хорошим однострочником, но мне интересно, есть ли лучший способ загрузить модели и структурные каталоги /файлы.
Я думал о реализации следующего шаблона:
'src/app/.../models/orders/order.model.ts';
'src/app/.../models/orders/order-status.model.ts';
Где каждый файл имеет соответствующие классы Order
и OrderStatus
. Мне кажется, это лучший способ абстрагирования каждой модели, поскольку теперь имя файла напрямую соответствует классу, определенному внутри;между файлом и моделью устанавливается взаимно-однозначное отношение.
Моя мотивация для изменения этой файловой структуры заключается в содействии будущей эскалации проекта.
Недостаток, который я вижу, заключается в необходимости использовать две строки кода при импорте этих двух моделей в один и тот же компонент / сервис. Где бы я однажды импортировал два таких класса
import { Order, OrderStatus } from 'src/app/.../models/orders/orders.model.ts';
, теперь мне нужно было бы импортировать их вот так
import { Order } from 'src/app/.../models/orders/order.model.ts';
import { OrderStatus } from 'src/app/.../models/orders/order-status.model.ts';
Я уже погуглил об этом и не смог найти никакой документации олучшие практики в определении моделей для ионных проектов, поэтому я публикую здесь логику, о которой я подумал.
Я иду в правильном направлении? Должен ли я оставить текущую структуру в покое и сосредоточиться на чем-то еще? Есть ли лучший способ сделать это?