Есть ли лучший способ определить эти угловые / ионные модели? - PullRequest
0 голосов
/ 01 декабря 2019

В новом проекте 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';

Я уже погуглил об этом и не смог найти никакой документации олучшие практики в определении моделей для ионных проектов, поэтому я публикую здесь логику, о которой я подумал.

Я иду в правильном направлении? Должен ли я оставить текущую структуру в покое и сосредоточиться на чем-то еще? Есть ли лучший способ сделать это?

1 Ответ

0 голосов
/ 02 декабря 2019

Хорошо, поэтому я еще немного покопался в Руководстве по угловым стилям (https://angular.io/guide/styleguide) и, согласно Правилу Один, лучше иметь в файле только один класс.

Отдельный компонент может быть экспортом по умолчанию для его файла, что облегчает отложенную загрузку с маршрутизатором.

...