Asp.net 重新键入和声明本来可以继承的变量是否会降低性能

Asp.net 重新键入和声明本来可以继承的变量是否会降低性能,asp.net,vb.net,performance,inheritance,import,Asp.net,Vb.net,Performance,Inheritance,Import,我想知道.net应用程序中导入和继承之间的性能差异 目前,我通过创建多个逻辑定义对象的类来编程。e、 g.客户、用户和产品的类别 当我想在页面中使用这些类时,我必须导入它们,例如“Imports customers”,然后在我的代码中创建一个变量并将其数据类型化,然后才能使用类中的子例程和函数 我从编码的角度理解,这可以使它保持整洁 所以我的问题是,当我想使用它时,是否最好将我所有的类合并成一个基类,继承该基类,而不是导入它,从而减少导入一个类所产生的额外声明和相关代码;如果我这样做了,它会提高

我想知道
.net
应用程序中导入和继承之间的性能差异

目前,我通过创建多个逻辑定义对象的类来编程。e、 g.
客户、用户
产品
的类别

当我想在页面中使用这些类时,我必须导入它们,例如“
Imports customers
”,然后在我的代码中创建一个变量并将其数据类型化,然后才能使用类中的子例程和函数

我从编码的角度理解,这可以使它保持整洁


所以我的问题是,当我想使用它时,是否最好将我所有的类合并成一个基类,继承该基类,而不是导入它,从而减少导入一个类所产生的额外声明和相关代码;如果我这样做了,它会提高性能吗?

不,使用基类而不是单独的类不会提高性能,只会使应用程序更难维护和扩展

如果应用程序出现性能问题,请使用探查器并检查热点位置


“导入”类只是告诉编译器您太懒了,无法在代码中键入类型的完全限定名,并且对运行时性能没有影响

将代码折叠到一个类中根本不会提高性能。这将使您的代码库更难理解和维护。听起来您误解了一些概念。asp.net()中的导入只是编译器告诉它在哪个名称空间中查找类型的帮助,与运行时性能无关。完全在我的基类中,我考虑定义变量,比如“sqlstr”,每当我想要定义自定义SQL字符串时,我都会使用它。我一直在阅读有关dispose和garabge收集器以及非托管对象以及.net如何决定何时最好从内存中删除内容的内容。我想知道不将我的类合并为一个类的另一个原因是否是因为像“sqlstr”这样的变量即使没有被使用也会留在内存中,而仅仅是因为它们会在我的基类中定义。我建议您考虑面向对象的设计,而不是试图优化内存使用。字段属于具有涉及使用数据的行为的类。如果在类上的操作不需要数据,那么它可能位于错误的位置。通常,在创建基类之前,您需要仔细考虑的主要原因不是内存使用,而是灵活性和可扩展性,正如我链接的文章中所述。查看Craig Larman关于面向对象编程指导的工作。