Sebagian besar bahasa OO mengawali nama antarmuka mereka dengan huruf besar I, mengapa Java tidak melakukan ini? Apa alasan untuk tidak mengikuti konvensi ini?
Untuk menunjukkan apa yang saya maksud, jika saya ingin memiliki antarmuka pengguna dan implementasi pengguna saya akan memiliki dua pilihan di Jawa:
- Class = Pengguna, Antarmuka = UserInterface
- Class = UserImpl, Interface = Pengguna
Di mana di sebagian besar bahasa:
Kelas = Pengguna, Antarmuka = IUser
Sekarang, Anda mungkin berpendapat bahwa Anda selalu dapat memilih nama yang paling deskriptif untuk implementasi pengguna dan masalahnya hilang, tetapi Java mendorong pendekatan POJO untuk berbagai hal dan sebagian besar wadah IOC menggunakan DynamicProxies secara luas. Kedua hal ini bersama-sama berarti bahwa Anda akan memiliki banyak antarmuka dengan implementasi POJO tunggal.
Jadi, saya kira pertanyaan saya bermuara pada: "Apakah layak mengikuti konvensi penamaan Antarmuka yang lebih luas terutama mengingat kemana arah Java Frameworks menuju?"
NetworkInterface
, DialogInterface
, dll