什麼時候謂詞合適,什麼是最佳使用模式?謂詞的優點是什麼?什麼時候謂詞合適,什麼是最佳使用模式
在我看來,像大多數情況下,可以使用謂詞的緊密循環將完成相同的功能?
我沒有看到一個可重用性的參數,因爲你可能只會在一個方法中實現一個謂詞嗎?
他們看起來很不錯,但除此之外,他們似乎只在需要對集合類進行快速入門時纔會使用它們?
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