gpt4 book ai didi

c# - 在 C# UWP 应用程序中的何处粘贴 API 调用

转载 作者:行者123 更新时间:2023-12-03 11:03:43 30 4
gpt4 key购买 nike

我开始关注面向对象的编程(过去一直是程序化的)和 MVVM。

我对本地应用程序的结构(模型类等)有点信心,但我对连接到外部 API 和检索 JSON 结果有疑问(我知道如何连接,但我说的是项目结构和这样的)。我读过关于门面和服务的文章,但似乎不同的人构造事物的方式不同。我确定没有通用规则,但有“最佳实践”吗?

就在我的脑海中,拥有一个 API 类似乎很有意义。从数据模型到连接到 API 的一切都可以坐在那里。不过,似乎我看到人们通过他们的 View 模型建立联系。

我只是在寻找一些输入。感谢您的任何指导。

最佳答案

可以想象,有很多方法可以做到这一点。任何设计都可能有其优点和缺点,您可能会通过经验来解决这些问题。

一种简单的方法是拥有一个“服务”类,它是您的代码对外部服务的外观。它的界面可能很简单:

interface MyService
{
void SomeOperation(int someValue);
string AnotherOperation(double anotherValue);
}

实现此服务的类本质上是对外部服务的传递。它将负责封装访问服务的技术堆栈,例如 HTTP REST 客户端。

理想情况下,这完全封装了使用服务的技术方面(例如 HTTP、JSON 等)并仅公开服务的逻辑方面(命名方法、接受和返回域对象而不是 JSON 字符串等)。这样,如果您更换了技术,您仍将保留相同的事物语义业务含义,并且只需要更改该接口(interface)后面的一个实现。

至于在哪里使用服务类,这通常是一个见仁见智的问题,实际上取决于最终更有意义和更容易在代码中支持的内容。一种思想流派是让模型在内部使用服务类并且一切都与模型交互,另一种思想是在某处有更多的程序代码,平等地使用服务和模型。就我个人而言,我发现前者在 MVVM 中更有意义,而后者在 MVC 中更有意义。但是您的里程可能会有所不同。

如果可能的话,我建议尝试直接在模型中使用该服务,因为任何程序代码都需要存在于某个地方并且以 MVVM 模式存在,您可能会发现自己在错误的地方“穿鞋”。如果您也希望这样做,那么您如何处理模型中的服务依赖注入(inject)之类的事情完全是另一个主题。

关于c# - 在 C# UWP 应用程序中的何处粘贴 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40512872/

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