我相信最好是編寫接口而不是實現。在Java:接口代碼而不是實現?
List<User> users = new ArrayList<User>();
沒有必要對所有在程序指定的users
運行時類型如果代碼只關心它實現List
。
不過,我遇到很多人誰相信這是完全罰款,即使他們不使用特定於ArrayList的屬性:
ArrayList<User> users = new ArrayList<User>();
我試圖解釋它的冗餘,使得程序更難改變,但他們似乎並不在乎。還有其他原因,這很重要嗎?或者我的信念被誇大了?
不錯的指導方針,並描述你可以在哪裏放鬆規則和權衡。 – hvgotcodes 2010-09-30 16:51:04