當我編寫一些API時,我儘量避免引入新的接口,並且這常常使我想使用guava接口「Function」。例如,而不是做:使用guava函數接口與引入新類型
// a new interface
interface URILookup {
public URI lookup(Object o);
}
public class Some {
public Some(URILookup u){//...}
}
我更換URILookup
與Function<Object,URI>
並記錄Some
在構造函數中使用。
我覺得這可能以後導致無法讀取的代碼,我可以做一切功能。什麼標準,你將找到VS引入新的類型,例如「常規」界面之間的平衡?
很多時候我用我自己的接口擴展'Function'兩全。我的規則很簡單:「任何功能會做還是需要特殊功能?」。 – maaartinus