代码之家  ›  专栏  ›  技术社区  ›  sharkin

“部分”课程有什么好处?

  •  13
  • sharkin  · 技术社区  · 16 年前

    我问这个问题是因为我发现分发类定义是一个相当危险的特性,这样你就不能真正确定你是否了解它。即使我找到了三个部分定义,我怎么知道没有第四个?

    我刚到C,但已经花了10年的C++,也许这就是为什么我动摇了吗?

    无论如何,“局部”的概念肯定有很大的好处,我显然没有。我想了解更多关于它背后的哲学。

    对不起,错过了 this duplicate 搜索现有职位时。

    6 回复  |  直到 8 年前
        1
  •  31
  •   Matt Hamilton    16 年前

    使用代码生成时,分部类非常方便。如果您想要修改生成的类(而不是从中继承),那么在重新生成代码时,您将面临丢失更改的风险。如果您能够在一个单独的文件中定义额外的方法等,则可以重新创建类的生成部分,而无需使用手工编写的代码。

        2
  •  11
  •   Kyle Trauberman pestades    14 年前

    最大的好处是隐藏计算机生成的代码(由设计者)。
    Eric Lippert最近有一篇关于 partial-keyword 一般来说

    另一种用法是为嵌套类提供自己的文件。

        3
  •  3
  •   Jehof    16 年前

    另一点是,当一个类实现多个接口时,可以在不同的文件上拆分接口实现。

    因此,每个代码文件只有属于接口实现的代码。根据 关注点分离 概念。

        4
  •  3
  •   Chris S    16 年前

    两个人编辑同一个类和自动生成的设计器代码是我可以看到的两个即时特性,它们通过分部类和方法得到了解决。

    将设计器生成的代码放在单独的文件中是非常困难的 很多

    VisualStudio仍然在将设计器文件、代码隐藏和设计文件与ASP.NET同步方面搞得一团糟。

        5
  •  2
  •   Ray    16 年前

    如果您有一个大得离谱的类,由于某种原因无法或不允许在逻辑上拆分为较小的类,那么您至少可以在物理上将它们拆分为多个文件,以便更有效地使用它。基本上,您可以一次查看小块,避免上下滚动。

    这不一定是对分部类的最佳使用,但肯定为您提供了另一种选择来组织您可能无法修改的代码。

        6
  •  1
  •   siamak    14 年前

    也许太晚了,但请让我再加上2美分:

    *.在处理大型项目时,将一个类分散在不同的文件上可以让多个程序员同时处理它。

    *。您可以轻松地为VS.NET生成的类编写代码(用于扩展功能)。这将允许您编写自己需要的代码,而不会干扰系统生成的代码

    推荐文章