gpt4 book ai didi

angular - 在 Angular 应用程序中从后端创建数据模型何时有用?

转载 作者:行者123 更新时间:2023-12-04 17:44:04 25 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

3年前关闭。




Improve this question




我仍在学习 Angular,但我也有机会参与一个大型应用程序,前端使用 Angular 5,后端使用 Java。

问题是关于在 Angular 应用程序中创建模型。 Java 开发人员试图说服我,在 HTML 模板中引用它时,创建与后端相同的模型结构会给我带来更多好处,而不仅仅是在 IDE 中进行自动建议。

不幸的是,我没有看到太多的好处,或者至少有那么多的返回我必须花费的工作时间来生成所有模型来响应来自后端的任何响应。

假设我有 API,它会返回如下内容:

{
电子邮件:“测试”,
名字:“测试”
姓氏:“测试”
用户名:2
}

现在我应该为此创建一个模型,它可能如下所示:

export class User {
email: string;
fisrtName: string;
lastName: string;
uuid: number;
}

这样做有什么意义?这种方法有什么好处?
此外,在后端称为实体的相同数据结构已经存在,那么我为什么要在前端创建相同的代码?

我没有立即处理接收到的数据,而是必须为每个响应创建一个模型,包括为每个模型创建另一个文件,然后使用它们。

我很高兴这样做是因为 Angular 使用 Typescript,并且一切都应该“输入”,但是这个论点都不能说服我,因为我仍然没有看到使用它们的任何好处。

不利的一面是创建额外的逻辑、更多的文件和后端已经存在的重复代码。

也许是因为不了解前端的动态特性和不同的抽象?

后端必须通过实体管理抽象,而前端管理 View ,呈现准备好的数据,应该从后端准备好。这就是为什么我认为后端肯定应该维护适当的实体创建模型,但是当我们管理不同的抽象时,为什么前端应该做同样的事情?

我阅读了这篇关于在 Angular 中处理模型的文章
https://nehalist.io/working-with-models-in-angular/
但是作者只提到了为什么要这样做的两个原因。

1)第一个是关于更改模板中的某些内容以不同的方式显示它。我在这里看不到任何好处,因为即使我会创建一个像“fullName()”这样的方法,那么如果客户说他/她现在只想拥有“firstName”,那么必须做同样的工作来改变它在所有模板中。

2)第二个是关于在任何地方“打字”,我看不出有什么好的理由为什么我应该在我所做的一切中“打字”,这不是 Java、C++ 或任何其他低级语言。我们还根据已经准备好的数据维护 View 。

我希望我清楚地解释了我的问题,并提前感谢您的任何解释。

最佳答案

打字是为了方便,TypeScript 的出现是有原因的。

除其他外,打字使您的 IDE 可以轻松地为您提供 IntelliSense,并防止您在开发过程中输入错误的字段名称。它们还使您和其他人更容易了解在您的应用程序中传递的信息类型,并为您的数据流定义规则。

您的后端类型多久更改一次?如果不是那么频繁,并且如果您不使用动态数据,那么我会花时间实现一个简单的接口(interface)(它不必是一个类)以充分利用 TypeScript 所提供的功能。

关于angular - 在 Angular 应用程序中从后端创建数据模型何时有用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52993782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com