Повечето OO езици добавят префикс към имената на интерфейса си с главно I, защо Java не прави това? Каква беше причината да не спазвате тази конвенция?
За да демонстрирам какво имам предвид, ако исках да имам потребителски интерфейс и потребителска реализация, щях да имам два избора в Java:
- Клас = потребител, интерфейс = потребителски интерфейс
- Клас = UserImpl, интерфейс = потребител
Къде на повечето езици:
Клас = потребител, интерфейс = IUser
Сега може да възразите, че винаги можете да изберете най-описателно име за потребителската реализация и проблемът да изчезне, но Java налага POJO подход към нещата и повечето IOC контейнери използват широко DynamicProxies. Тези две неща заедно означават, че ще имате много интерфейси с едно изпълнение на POJO.
И така, предполагам, че въпросът ми се свежда до: „Струва ли си да следваме по-широката конвенция за именуване на интерфейса, особено в светлината на това накъде изглежда се насочва Java Frameworks?“
NetworkInterface
,DialogInterface
и т.н. - person sandalone   schedule 16.08.2013Abstract...
. - person ChiefTwoPencils   schedule 07.02.2015