gpt4 book ai didi

C# 我可以使用部分类来使代码更具可读性吗

转载 作者:太空宇宙 更新时间:2023-11-03 18:20:43 24 4
gpt4 key购买 nike

例如,我有这个 Web Api Controller 类 AdministratorController,它包含很多任务:

  • 创建
  • 删除
  • 修改密码
  • 更新
  • 得到
  • 获取全部
  • 等等...

现在我将所有这些任务都放在 1 个文件 AdministratorController.cs 中。但是加上所有评论和注释,文件相当长。

将此 Controller 拆分成partial class block 是否是一种好方法,使搜索特定功能的开发人员可以更快地找到他们的目的地?或者这是在滥用 partial 关键字例如,我有一个文件夹结构:

  • -- Controller
  • ⠀|-- 管理员
  • ⠀⠀⠀⠀|-----AdministratorCreateController.cs
  • ⠀⠀⠀⠀|-----AdministratorDeleteController.cs
  • ⠀⠀⠀⠀|-----AdministratorEditPasswordController.cs

最佳答案

显然,这是一个自以为是的答案。从技术上讲,是的,你可以。它会编译。

如果它变得很长,我认为你将它分成多个文件是正确的。

你可以有部分类。或者你可以有多个类。没有人强制您将所有这些方法放入一个 Controller 中。

就我个人而言,出于实际原因,我会选择多个类(class)。您可能会进行依赖注入(inject),并且可能会通过构造函数注入(inject)来完成,因为这是默认设置。对于部分类,即一个大类但多个文件,您现在需要编辑当前文件,加上构造函数所在的文件以添加新服务。这也意味着所有方法都需要注入(inject) DeleteDataService,尽管只有 Delete 方法使用它。如果每个方法有一个 Controller ,那么您将在同一文件中拥有构造函数并且其他类不依赖于它。

但是,例如,如果您通过方法中的 [FromService] 属性进行注入(inject),那么您的两种选择之间几乎没有区别。

如果将它们保存在一个文件中太长,则将它们组织在不同的文件中很好。太好了,我认为这不会太糟糕,即使您选择了“错误”的方法来做到这一点。因此,请选择您认为最实用的一种。

关于C# 我可以使用部分类来使代码更具可读性吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56293246/

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