角度模型和接口组织

时间:2018-12-11 16:01:36

标签: angular typescript

Angular样式指南包含有关在应用程序中使用类和接口的最佳实践的信息。但这没有有关如何组织接口和模型类的任何信息。

有一个问题:有关文件和类组织的最佳实践吗?

  • 我应该将所有域类和接口存储在一个文件中还是为每个接口创建单独的文件?
  • 我应该将模型类和接口保存在不同的文件中还是放在一个文件中?
  • 如果组件或服务具有一些基础设施类和接口,那么它的组织方式(一个或多个文件,后缀等)如何?
  • 在角度世界中,哪些模型文件后缀最常见?

例如,更好的追踪方法是什么?

user-service.model.ts

export enum Gender {MALE, FEMALE}

export interface UserStatus {
  id: string;
  caption: string;
}

export interface User {
  name: string;
  gender: Gender;
  status: UserStatus;
}

export interface UserListResponse extends ListResponse<User> {}

user-gender.model.ts

export enum Gender {MALE, FEMALE}

user-status.model.ts

export interface UserStatus {
  id: string;
  caption: string;
}

user.model.ts

export interface User {
  name: string;
  gender: Gender;
  status: UserStatus;
}

user-list-response.model.ts

export interface UserListResponse extends ListResponse<User> {}

UPD: 我知道每个团队都可以在内部决定它,并且取决于内部协议,但是我对“其他开发者如何做到这一点”感兴趣

1 个答案:

答案 0 :(得分:1)

这可能取决于您。

我更喜欢将所有模型保存在自己的文件中,将特定模型分组在同一文件中,例如UserStatusUserUserListResponse

但是Gender枚举可以在其他模型/接口(例如Customer)上使用,并且应该在单独的文件中。

PS one file per class/interface方法将帮助您了解或推断需要编辑哪个文件名是特定的类/接口。