当然有些人已经处理过这一个.当程序员被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()
这个名字有吗?
我会去做它并命名为"懒惰过滤器(反)模式".
我看过那一次.那个程序员不是太久了.
我们称之为"消防方法".