Die meisten OO-Sprachen stellen ihren Schnittstellennamen ein Großbuchstaben I voran. Warum macht Java das nicht? Was war der Grund dafür, diese Konvention nicht zu befolgen?
Um zu demonstrieren, was ich meine, hätte ich in Java zwei Möglichkeiten, wenn ich eine Benutzeroberfläche und eine Benutzerimplementierung haben wollte:
- Klasse = Benutzer, Schnittstelle = Benutzerschnittstelle
- Klasse = UserImpl, Schnittstelle = Benutzer
Wo in den meisten Sprachen:
Klasse = Benutzer, Schnittstelle = IUser
Nun könnten Sie argumentieren, dass Sie immer einen aussagekräftigen Namen für die Benutzerimplementierung auswählen könnten und das Problem verschwindet, aber Java drängt auf einen POJO-Ansatz und die meisten IOC-Container verwenden DynamicProxies in großem Umfang. Diese beiden Dinge zusammen bedeuten, dass Sie viele Schnittstellen mit einer einzigen POJO-Implementierung haben.
Ich denke, meine Frage läuft darauf hinaus: "Lohnt es sich, die umfassendere Namenskonvention für Schnittstellen zu befolgen, insbesondere angesichts der Richtung, in die Java Frameworks zu gehen scheinen?"
NetworkInterface
, DialogInterface
etc.