Size: a a a

Angular - русскоговорящее сообщество

2019 December 10

YK

Yuri Katkov in Angular - русскоговорящее сообщество
Иван Гольденберг
спицифика Angular интерфейс для приема JSON
можно поподробнее? Я такое в жаве и плюсах делал, но там интерфейсы другое означают.
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
Иван Гольденберг
export class Category implements ICategory {
   id: number;
   name: string;
   imagepath: string;
   subCategory: Array<ISubCategory>
}

export class SubCategory implements ISubCategory {
   id: number;
   name: string;
   categoryId: number;
   imagepath: string;
}

export interface ISubCategory {
   id: number;
   name: string;
   categoryId: number;
   imagepath: string;
}

export interface ICategory {
   id: number;
   name: string;
   imagepath: string;
   subCategory: Array<ISubCategory>
}
если оставить только классы тут или только интерфейсы - что плохого произойдет?
источник

AK

Anton K. in Angular - русскоговорящее сообщество
да, тоже прошу расскрыть тему интерфейсов
источник

AK

Anton K. in Angular - русскоговорящее сообщество
модель обычно можно без интерфейса делать, так как едва ли придется её наследовать
источник

ИГ

Иван Гольденберг in Angular - русскоговорящее сообщество
у класса экземляр нужно создавать, у интерфейса не нужно
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
Иван Гольденберг
у класса экземляр нужно создавать, у интерфейса не нужно
мы все еще про тайпскрипт толкуем?
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
интерфейс в ts просто описывает форму объекта, это не то же самое, что интерфейс в джаве
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
const subCat: ISubCategory = {
   id: 24;
   name: ‘bla’;
   categoryId: 22;
   imagepath: ‘/bla/1.jpg’;
}
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
совершенно допустимый код же
источник

ИГ

Иван Гольденберг in Angular - русскоговорящее сообщество
интерфейс меньше памяти занимает чем класс (ну это динозаврика)
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
он же совсем память не занимает
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
Иван Гольденберг
интерфейс меньше памяти занимает чем класс (ну это динозаврика)
но тогда - зачем классы?
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
щас поясню
источник

ИГ

Иван Гольденберг in Angular - русскоговорящее сообщество
интерфейс для приема данных из api, а класс, например для создания нвого экземпляра и отвправки его в api для для записи в базу данных
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
что-то до меня не доходит(
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
export interface ISubCategory {
   id: number;
   name: string;
   categoryId: number;
   imagepath: string;
}

export interface ICategory {
   id: number;
   name: string;
   imagepath: string;
   subCategory: Array<ISubCategory>
}
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
давайте вот это оставим только
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
Yuri Katkov
const subCat: ISubCategory = {
   id: 24;
   name: ‘bla’;
   categoryId: 22;
   imagepath: ‘/bla/1.jpg’;
}
а новый экземпляр вот так будем создавать
источник

ИГ

Иван Гольденберг in Angular - русскоговорящее сообщество
да, так элегантней и меньше кода
источник

P

Philipp in Angular - русскоговорящее сообщество
Иван Гольденберг
интерфейс для приема данных из api, а класс, например для создания нвого экземпляра и отвправки его в api для для записи в базу данных
Т.е. если не нужно создавать экземпляры классов, а только проверять входные энтити, то нет смысл создавать класс и лучше использовать интерфейс?
источник