Çoğu OO dili arayüz adlarına büyük harf I ekler, Java neden bunu yapmaz? Bu sözleşmeyi izlememenin mantığı neydi?
Ne demek istediğimi göstermek için, bir Kullanıcı arayüzü ve bir Kullanıcı uygulaması olmasını istersem, Java'da iki seçeneğim olurdu:
- Class = Kullanıcı, Arayüz = UserInterface
- Class = UserImpl, Arayüz = Kullanıcı
Çoğu dilde:
Sınıf = Kullanıcı, Arayüz = IUser
Şimdi, kullanıcı uygulaması için her zaman en açıklayıcı bir ad seçebileceğinizi ve sorun ortadan kalktığını iddia edebilirsiniz, ancak Java şeylere ve çoğu IOC kapsayıcılarına bir POJO yaklaşımı zorluyor DynamicProxies'i yoğun olarak kullanıyor. Bu iki şey birlikte, tek bir POJO uygulamasıyla çok sayıda arayüzünüz olacağı anlamına gelir.
Yani, sanırım sorum şu şekilde kayboluyor: "Özellikle Java Frameworks'in gittiği yer ışığında daha geniş Arayüz adlandırma kuralını izlemeye değer mi?"
NetworkInterface
, DialogInterface
vb