在c#asp.net中,拥有静态类比非静态类更有效率吗
本文关键字:静态类 有效率 拥有 c#asp net | 更新日期: 2023-09-27 18:22:10
在asp.net/c#中,作为一个多人连接到站点的服务器端解决方案,我有多个类。然而,如果它们是非静态的,我最终只会创建其中一个对象。我想知道是让它们成为静态类更有效,还是让它们成为非静态的,然后创建1对象并使用它。
谢谢。
类和静态类不能互换。
静态类在对服务器的请求之间共享。它们也和应用程序域一样长。
类实例是不同的,将为每个请求单独创建,每个请求都有自己的数据。
静态类的工作速度可以稍快一些,因为不需要每次都创建实例,但在大多数情况下差异可以忽略不计。静态类可能存在数据同步和内存使用问题,因为数据在请求之间共享并且存储时间更长。
静态类会更快。轻微地但是非静态类给了你巨大的灵活性,放弃它将是一种耻辱。你可能永远都不需要它,但如果你需要的话,知道它在那里很好。
示例:
有一天,您可能想要其中一个类的两个或多个副本。今天是什么,你的整个宇宙可以是明天系统的一小部分。今天是什么太阳,明天只是100000颗恒星中的一颗。
您可能会发现将单个实例的修改副本传递给方法很方便。这允许您将为使用官方的单个实例而编写的代码用于其他用途。
非静态类可以扩展其他类和接口。您的几个单实例类可能想要实现一个接口,以便它们有时可以相互替换。一些类可能共享相同的功能,并希望从另一个类继承。
(肯定还有很多其他好的原因。)