什么时候谓词合适,什么是最佳使用模式?谓词的优点是什么?什么时候谓词合适,什么是最佳使用模式
在我看来,像大多数情况下,可以使用谓词的紧密循环将完成相同的功能?
我没有看到一个可重用性的参数,因为你可能只会在一个方法中实现一个谓词吗?
他们看起来很不错,但除此之外,他们似乎只在需要对集合类进行快速入门时才会使用它们?
UPDATE
但是,为什么你会一次又一次地改写了紧密的循环?
在我的脑海里/代码,当涉及到收藏我总是落得像
Class Person
End Class
Class PersonList
Inherits List(Of Person)
Function FindByName(Name) as Person
tight loop....
End Function
End Class
@Ani
通过同样的逻辑,我可以实现的方法,这样
Class PersonList
Inherits List(Of Person)
Function FindByName(Name) as PersonList
End Function
Function FindByAge(Age) as PersonList
End Function
Function FindBySocialSecurityNumber(SocialSecurityNumber) as PersonList
End Function
End Class
并称之为
Dim res as PersonList = MyList.FindByName("Max").FindByAge(25).FindBySocialSecurityNumber(1234)
并且结果与代码量及其可重用性大体相同,不是吗?
我不是争辩只是试图理解。
为什么要使用SQL而不是自己在紧密循环中走表?它看起来很不错,但除此之外,似乎只有在需要对数据库进行快速入侵时才会使用它。 – 2011-01-11 03:23:18
(针对您的更新) - 对于一个现实的场景,为什么不实施*紧密的循环?另外,为什么不写`FindByName`,`FindByAge`,`FindBySocialSecurityNumber`?如果用户想要找到24岁到34岁之间的人,该怎么办?你能写出所有可能的过滤器吗?如果循环逻辑更复杂呢? – Ani 2011-01-11 03:39:39