C# 使用类或函数

C# 使用类或函数,c#,function,class,C#,Function,Class,对于noob的问题我很抱歉,但我总是很难区分什么情况下创建函数或类是好的。对于我在工作中编写的一些较小的程序,我编写了一整套函数来执行特定的任务。这些程序都按预期工作。然而,当我让一些更资深的开发人员看一看,给我他们的批评,他们重写了我的许多功能完全作为一个类。他们是我的同事,所以我不想问他们为什么这样做,让他们看起来完全不称职(我刚开始做这项工作时是一名初级开发人员)。你们觉得怎么样 正如其他人在评论中指出的那样,这确实太宽泛了,而且有点自以为是,但总而言之,在以下情况下使用类: 您可以随时间

对于noob的问题我很抱歉,但我总是很难区分什么情况下创建函数或类是好的。对于我在工作中编写的一些较小的程序,我编写了一整套函数来执行特定的任务。这些程序都按预期工作。然而,当我让一些更资深的开发人员看一看,给我他们的批评,他们重写了我的许多功能完全作为一个类。他们是我的同事,所以我不想问他们为什么这样做,让他们看起来完全不称职(我刚开始做这项工作时是一名初级开发人员)。你们觉得怎么样

正如其他人在评论中指出的那样,这确实太宽泛了,而且有点自以为是,但总而言之,在以下情况下使用类:

  • 您可以随时间保持状态,并将函数应用于此状态
  • 您有一组函数,它们共享一个共同的目标,或者处理一个共同的用法、数据类型或其他“明显的共享想法”。当这些函数可以在其他地方重用时,这一点尤其重要
  • 但实际上,要想获得更深入的理解,就要买一本书:-)



    顺便说一句,在C#中,你不能将任何功能放在类之外,所以问题应该是“如何将我的monolith类划分为更小的类”

    这是一个太宽泛的问题,你必须理解面向对象编程的概念以及何时应该使用它

    注意:贝娄你会发现我的个人观点(其中一些是从伟大书籍的作者和经验丰富的程序员那里借来的),当然,贝娄强调的东西并没有反映出面向对象思维和设计的全部力量。这些将通过经验和反馈获得

    0类的用例 在C#代码的何处使用内部类有许多应用程序

    数据传输对象(DTO)
    在软件中多次使用的一个应用程序(非常多)是将数据从数据库传输到应用程序进行处理时。
    还有什么比编写一个内部类来存储数据、实现有用且可重用的方法更好的呢?这些方法可以在以后的应用程序逻辑(例如isAdministrator)中使用,等等

    1.面向对象设计模式 我建议你读一本关于……的书。
    像这样的书,描述了一些可以通过使用模式的类实现的问题场景。一旦您阅读了这些模式和可能的场景,您将能够获得这本书,找到模式并解决您的问题

    我的一个同事说了一些非常有用的东西。当你面临问题时,你应该问问自己:

    “是否使用设计模式再次解决了此问题?”

    如果答案是肯定的,那么你回到你的参考书去寻找你的设计模式,这将解决你的问题,而不需要重新发明轮子。 这种方法,将教你如何何时使用单独的课程;但也有助于您与同事之间保持沟通语言,也就是说,如果您与同事谈论代码,您将能够陈述设计模式,并立即被理解(鉴于此,您的同事知道特定的设计模式)

    2.不要害怕创建多个内部类 另一个注意事项是,不要害怕创建多个内部类。尽可能多地实现,不要试图实现一个内部类和混合职责。您的类应该有特定的用途,并且不应该做一件以上的事情(即,如果您正在编写一个关于将数据从数据库传输到应用程序逻辑的类,那么最好不要做其他事情,比如向数据库添加数据)

    考虑了解有关多态性、继承、封装和抽象的更多信息

    这四条面向对象编程的基本原则也可以帮助您学习如何构造面向对象的代码

    3.一般说明 作为一名初级开发人员,不仅是初级开发人员,而且作为一名总体开发人员,您应该始终愿意向经验丰富的人员学习,通过征求反馈意见。不羞耻是学习和改进代码的法则


    另一个强大的学习来源,是书籍,考虑购买一些你感兴趣的领域。(例如面向对象编程、设计模式等)。

    买一本软件设计书怎么样?我可能会从学习面向对象编程、多态性之类的东西开始。尽管我认为这是一个好问题。我不想问他们为什么这样做,让他们看起来完全不称职(我刚开始这项工作时是一名初级开发人员)。。。不,那是个错误的想法。你应该问他们,理解他们,一路上向他们学习,因为他们都是大四的学生。第一步:在C#中,课堂之外没有函数。重复3次!现在考虑一下:函数应该驻留在什么地方:您碰巧设计的
    表单
    ,或者以合理且可重用的方式对它们进行分组的类中?