【发布时间】:2012-08-28 18:06:04
【问题描述】:
我正在开发一个每秒收到数千个请求的系统,基本上我们试图避免的任务之一是创建不必要的/额外的对象。
我们需要验证 6 个请求项本身的传入请求。
我正在考虑为每个项目验证创建一个类。
但是,我试图证明我是否应该使用静态验证类与包含 HttpRequest 作为实例字段的实例的对象。
我应该使用静态类还是对象?你会怎么做?
本质上,我正在做的是将List<IValidator> validators 注入到请求处理程序并对其进行迭代。但不确定我是否应该有一个实例与静态类。
【问题讨论】:
-
实例服务的优点/目的是什么,恕我直言,这个问题非常适合静态设计。
-
对,但在您的示例中,这种状态是否必要?
-
您似乎已经回答了您自己的问题,因为您对有状态验证器的要求表明制作新的验证器对象是正确的方法?现代 JVM 非常擅长处理短暂的对象。
-
@DarthVader 好吧,这让你不使用静态,所以测试、模拟等会更容易。它还只需要实例化每种类型中的一种,因此不会消耗大量内存。
-
@jeff 当你每秒收到数千个请求时,它会加起来。