gpt4 book ai didi

c# - 在 C# 中使用内部类

转载 作者:IT王子 更新时间:2023-10-29 04:17:42 31 4
gpt4 key购买 nike

有关 C# 中内部类的使用和结构的最佳实践是什么。

例如,如果我有一个非常大的基类和两个大的内部类,我应该将它们拆分成单独的(部分类)代码文件还是将它们保留为一个非常大的笨重代码文件?

还有一个带有公共(public)继承内部类的抽象类是不好的做法吗?

最佳答案

通常我保留内部类用于两个目的之一:

  1. 派生自其父类的公共(public)类,其中父类是具有一个或多个抽象方法的抽象基础实现,每个子类都是一个为特定实现服务的实现。 在阅读框架设计和指南后,我看到它被标记为“避免”,但是我在类似于枚举的场景中使用它——尽管这也可能给人留下不好的印象

    <
  2. 内部类是私有(private)的,是业务逻辑的单元,或者以其他方式紧密耦合到它们的父类,当被任何其他类使用或使用时,它们从根本上被破坏。

对于所有其他情况,我尝试将它们保持在与它们的消费者/逻辑父级相同的命名空间和相同的可访问性级别——通常使用比“主”类更不友好的名称。

在大型项目中,您会惊讶地发现自己最初构建强耦合组件的频率往往只是因为它的首要或主要目的使其看起来合乎逻辑——但是,除非您有非常好的或技术上的理由将其锁定将其隐藏起来,然后公开该类以便其他组件可以使用它几乎没有什么坏处。

编辑 请记住,即使我们谈论的是子类,它们也应该或多或少是设计良好且松散耦合的组件。即使它们是私有(private)的并且对外界不可见,但在类之间保持最小的“表面区域”将大大简化代码的可维护性以供将来扩展或更改。

关于c# - 在 C# 中使用内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/804453/

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