Hầu hết các ngôn ngữ OO đều đặt tiền tố tên giao diện của chúng bằng chữ I viết hoa, tại sao Java không làm điều này? Lý do cho việc không tuân theo quy ước này là gì?
Để giải thích ý tôi là gì, nếu tôi muốn có giao diện Người dùng và triển khai Người dùng, tôi có hai lựa chọn trong Java:
- Lớp = Người dùng, Giao diện = Người dùng
- Lớp = UserImpl, Giao diện = Người dùng
Ở đâu trong hầu hết các ngôn ngữ:
Lớp = Người dùng, Giao diện = Người dùng
Bây giờ, bạn có thể lập luận rằng bạn luôn có thể chọn một tên mô tả nhất cho việc triển khai của người dùng và vấn đề sẽ biến mất, nhưng Java đang đẩy mạnh cách tiếp cận POJO vào mọi thứ và hầu hết các thùng chứa IOC đều sử dụng DynamicProxies. Hai điều này có nghĩa là bạn sẽ có nhiều giao diện với một triển khai POJO duy nhất.
Vì vậy, tôi đoán câu hỏi của tôi tập trung vào: "Có đáng để tuân theo quy ước đặt tên Giao diện rộng hơn, đặc biệt là khi các Khung công tác Java dường như đang hướng tới?"
NetworkInterface
, DialogInterface
vv