额外课程或额外方法

时间:2014-02-07 22:30:57

标签: c#

我想知道在创建一些额外的类来保存我的业务日志与创建当前类中的额外方法时是否存在(几乎可以忽略不计)性能损失。

如果我将业务逻辑分布在几个类中(让我们称之为'子类'),并且'main'业务逻辑类在需要时实例化这些'子类'(并且GC清理内存)完成后,代码将更整洁,逻辑分散,从而更容易维护。而不是将所有东西放在一个“主要”课程中。

1 个答案:

答案 0 :(得分:1)

你的第二段为你回答了你的问题:

  

如果我将业务逻辑分散到几个类......和'主要'   业务逻辑类在需要时实例化这些[类] ...代码   会更整洁,逻辑散布,因此更容易维护。

对象实例的每实例开销是8个字节(32位)或16个字节(64位),加上对象实例所需的任何实例数据。根据Jon Skeet对问题的回答What is the memory overhead of a .NET Object

,最小分配块为12或24个字节。

不要流汗。首先,确保您的对象模型正确,符号正确。如果你有问题,那么(并且只有那时),你可以开始担心它。

一段代码的平均寿命是7年以上。人是昂贵的,电脑和记忆很便宜。缺乏相反的强烈论据,清晰度和可维护性胜过性能:编写代码时要注意4年后必须修复代码的人。不要修复你还没有的问题。