rest - Angular 2 lage modeller vs jobbe med json-objekter på farten?
når du samhandler med et REST API ved bruk av Angular 2. Er det verdt å lage TypeScript-klasser for hvert objekt (f.eks. ansatt, selskap, prosjekt, bruker ...)? Det andre alternativet er å hente JSON-objektet og jobbe med det direkte?
Svar #1
jeg foreslår å bruke modeller fordi:
- koden din vil være mer lesbar for deg selv etter en stund når du kommer tilbake for å endre den, alle andre kan også lett forstå hva du har gjort
- å gjøre endringer i prosjektet vil være lettere for eksempel har obj[0] ingen spesiell betydning, men obj['username'] er mer åpenbart
- du vil få IntelliSense i IDE-en din
du kan legge logikk i modellen for eksempel slik at kontrolleren din blir tynnere
name: string age: number sayInfo(): string { return `name is ${this.name} and age is ${this.age}` }Generelt vil det å administrere appen din være uten hodepine (eller i det minste mindre hodepine) :D
bare husk at feite modeller tynne controllere
ikke glem at det å sende mer enn fem argumenter til en funksjon ikke er en god praksis, bruk heller et objekt, for eksempel:
constructor(file) {
this.id = file['id']
this.fileName = file['fileName']
this.extention = file['extention']
this.fileSize = file['fileSize']
this.permission = file['permission']
this.description = file['description']
this.password = file['password']
this.isFolder = file['isFolder']
this.parent = file['parent']
this.banStat = file['banStat']
this.tinyLink = file['tinyLink']
}
getName(): string {
return `${this.fileName}${(this.isFolder) ? '' : '.'}${this.extention}`
}
getIcon(): string {
return this.isFolder ? 'fa-folder' : 'fa-music'
}
