gpt4 book ai didi

.net - 如何组织项目中的接口(interface)/类/实现

转载 作者:行者123 更新时间:2023-12-03 17:58:16 24 4
gpt4 key购买 nike

我发现了一些关于如何组织项目(命名空间、每个文件一个类等)的问题,但更具体地说,你如何组织密切相关的“事物”?

我通常最终得到:

  • 一个 接口(interface) IMyStuff
  • 一个 基类(有时是抽象类)为该接口(interface)提供基本骨架:BaseMyStuff
  • 实现类 MyStuffWithBellsAndWhistles , MyStuffWithChocolateFlavours

  • 它们应该在同一个命名空间中似乎是有道理的,但是如果我将所有这些文件放在同一个文件夹中,感觉我的文件夹开始有点过度拥挤(实际上不是一个真正的问题,但感觉很奇怪)。

    在同一个文件中定义接口(interface)和基类可以吗?

    是否可以将这些内容分组到子文件夹中,但在同一个命名空间中 ?像这样 :
    -MyNamespace
    |-Interfaces
    | -IMyStuff
    | -IMyOtherStuff
    |-BaseClasses
    | -BaseMyStuff
    | -BaseMyOtherStuff
    |-Implementation
    | -MyStuffWithAwesomeBehaviour
    | -MyStuffWithGreatUsefulness
    | -MyOtherStuffSoNeatYouWillCry

    关于这种组织的“最佳实践”是什么?

    最佳答案

    如果接口(interface)的目的是抽象实现并允许接口(interface)作者不知道的替代实现,那么我建议将它们保存在单独的项目文件中。在构建单元测试项目或接口(interface)的其他使用者时,这将允许他们创建一个项目引用,该引用仅拖入接口(interface)而不是实现。这意味着具体类的替代实现永远不需要引用原始的 concreate 表示。

    关于.net - 如何组织项目中的接口(interface)/类/实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7593814/

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