如果可能盡量使用接口來編程
.NET框架包括類和接口,在編寫程序的時候,你可能知道正在用.NET的哪個類。然而,在這種情況下如果你用.NET支持的接口而不是它的類來編程時,代碼會變得更加穩定、可用性會更高。請分析下面的代碼:
private void LoadList (object []items, ListBox l)
{
for(int i = 0; i < items.Length; i++)
l.Items.Add(items[i].ToString());
}
{
for(int i = 0; i < items.Length; i++)
l.Items.Add(items[i].ToString());
}
這個函數從一個可為任何對象的數組中加載ListBox,這段代碼被限定為只能使用數組。假想過些時候你發現那些對像存在數據庫中,或別的集合中。那麼你需要修改程序來使用不同的集合類型。如果你用ICollection接口來寫那段程序,你就不用修改那段程序了,對於任何實現ICollection接口的類型它都能很好的工作:
private void LoadList (ICollection items,ListBox l)
{
foreach(object o in items)
l.Items.Add(o.ToString());
}
{
foreach(object o in items)
l.Items.Add(o.ToString());
}
ICollection被數組和所有System.Collection中的集合實現。此外,多維數組也支持ICollection接口。如果那還不夠的話,數據庫.NET類同樣支持ICollection接口。用接口寫的這個函數不用需改就可以才許多中情況下使用。
沒有留言:
張貼留言