Как правильно представить бизнес-объекты в интерфейсе? - PullRequest
0 голосов
/ 22 ноября 2018

Существует серверная часть, которая возвращает список людей.Он автоматически сопоставляется с коллекцией объектов класса (Type) объекта BusScript с помощью Angular / rxjs.

export class Person {
   Id: string;
   Name: string;
   Age: number;
}

Необходимо отобразить эти объекты в списке с дополнительным столбцом, в котором указано, выбраны ли записиили нет - требуется для дальнейшей обработки.

Вопрос в том, каков будет правильный способ сделать это?

Должен ли я создать класс PersonModel, который наследуется от Person, и добавитьтам есть дополнительное поле?

export class PersonModel extends Person {
   Selected: boolean;
}

Или я должен игнорировать тот факт, что серверная часть не имеет ничего общего со свойством Selected, а просто добавить свойство в класс Person?

export class Person {
   Id: string;
   Name: string;
   Age: number;
   Selected: boolean;
}

Существуют ли другие, более правильные способы решения такой ситуации?

1 Ответ

0 голосов
/ 22 ноября 2018

Вместо класса вы можете создать интерфейс, который расширяет другой интерфейс.

export interface Person {
   Id: string;
   Name: string;
   Age: number;
}

export interface PersonAttrib extends Person {
   Selected: boolean;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...