[英]How to organize classes for an Angular application?
使用TypeScript,JavaScript,Java或其他類中的類來處理API響應的最專業方法是什么?
例如,一個應用程序需要三個資源:
每個帳戶都有一個或多個Car ,每個汽車都有一個或多個Driver 。
我在應用程序中看到了兩種處理這些資源的方法:
為每個資源(帳戶,汽車,駕駛員)創建一個類, 並將其嵌套 。 例如
class Account { constructor( public id: number, public name: string, public age: number public cars: Car[] ) {} } class Car { constructor( public id: number, public type: string, public seats: number public drivers: Driver[] ) {} }
在這種情況下,API將返回一個已經嵌套的JSON響應,只需要請求一次數據即可。
為每個資源創建一個類, 但不要嵌套它 。 首先僅獲取帳戶數據(調用/ account / 1234),然后在應用程序生命周期的后期獲取驅動程序(如果需要)和汽車(如果需要)。
class Account { constructor( public id: number, public name: string, public age: number ) {} } class Car { constructor( public id: number, public type: string, public seats: number ) {} }
在這種情況下,API將為每個API調用僅返回主要資源數據。
因此,資源應始終嵌套在整個應用程序上並僅一次調用嗎,還是應該在應用程序中存在資源類並彼此獨立地重新加載? 專業程序員使用哪種方式?
從角度樣式指南
考慮將接口用於數據模型
Angular 4.3引入了使用HttpClient
庫處理http
請求的新方法
您可以告訴
HttpClient
響應的類型,以使使用輸出變得更加輕松和明顯。 您需要做的就是為響應的形狀定義一個接口,並根據該接口進行類型檢查:
interface Post {
title: string;
body: string;
};
// ...
constructor(private http: HttpClient) {}
getData() {
this.http.get<Post>(this.url).subscribe(res => {
this.postTitle = res.title;
});
}
因此,資源應始終嵌套在整個應用程序上並僅一次調用嗎,還是應該在應用程序中存在資源類並彼此獨立地重新加載? 專業程序員使用哪種方式?
這完全取決於您的用例
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.