我刚刚开始使用 FastEndpoints(通过本文在 .NET 8 中构建 REST API 的简单方法)。所有类都被清楚地描述并且知道如何使用它,但是数据类对我来说是个大谜团?首先,我想,我应该在那里编写数据库查询,但没有。
所以我有两个问题:
1、我应该如何/何时使用 Data 类?你能给我举一些例子吗?
2、我应该在哪里写查询?有些文章建议将其直接写入 Endpoint,而其他文章则建议使用查询创建存储库并使用这些查询。第二种方法对我来说听起来更好(更清晰的代码),但恕我直言,它违背了垂直切片架构原则。
谢谢您的建议
Data
类只是项目中定义的static
类,请看一下文章源代码中的一些示例:
所以它是一些静态实用程序类,提供了每个“操作”创建的一些有用的方法 - 作者登录、作者注册、文章创建、获取文章。这不是你必须使用的东西,这只是作者决定实现一些东西的方式。
在哪里编写查询?这是一个很大的问题,很大程度上取决于。
通常推荐的是存储库模式 - 从调用代码中抽象出您正在使用的数据库并将其放在某些存储库接口后面(用于松散耦合)。
但是,最推荐的(IMO)方法是与您已有的保持一致(如果您想更改,请进行彻底的重构,但不要以您做事的方式进行分支)。正如我在链接类中看到的那样,那些
Data
类充当某种存储库 - 与数据库进行所有通信(不是完美的实现,我将引入接口)。
所以我想说,坚持使用
static Data
类并在那里编写逻辑(如果您正在处理本文中的项目)。这将是最干净的解决方案。