当然,你们中的某些人已经处理了这一问题。当程序员对OO过于重视而忘记性能和拥有数据库时,往往会发生这种情况。
例如,假设我们有一个电子邮件表,并且该表需要由该程序发送。在启动时,它将查找需要发送的所有内容,如下所示:
Emails = find_every_damn_email_in_the_database();
FOR Email in Emails
IF !Email.IsSent() THEN Email.Send()
从“请勿重复”的角度来看,这是一件好事,但有时这是不可避免的,它应该是:
Emails = find_unsent_emails();
FOR Email in Emails
Email.Send()
有这个名字吗?
最佳答案
我会尝试一下,并命名为“惰性过滤器(反)模式”。
关于performance - 此反模式的名称是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/703730/