【发布时间】:2021-03-30 13:01:19
【问题描述】:
我没有太多使用 Typescript 的经验,也没有用它实现架构模式,但我们正在从事一个我们想使用 Clean Architecture 的项目,但我怀疑使用 class 或 interface 声明 DTO和域对象。
我的假设是,对于Domain Objects,将其命名为class 是个好主意,因为它们内部可以包含业务逻辑。示例:
export class Person {
id: string;
firstName: string;
lastName: string;
title: string;
constructor() {}
someBusinessLogic() {
// Implement some business logic
}
但是对于DTO,由于他们不应该有任何逻辑,我正在与interface合作:
export interface PersonEntityDto {
id: string;
firstName: string;
lastName: string;
title: string;
updatedAt: string;
createdAt: string;
}
我说的对吗?
【问题讨论】:
标签: typescript domain-driven-design clean-architecture hexagonal-architecture