Java interface and implementation naming (or “I” or “Impl”)

How do I name my interfaces and the classes that implement my interfaces? Through much research on the internet and my own gut feelings, this is what I reckon:

I never prefix my interfaces with “I”. The value of coding to interfaces is that you can swap out the implementation with minimal hassle. It means that instead of using implementation specific class names in your code, you use interface names instead – right? So, if I’m going to be using interface names everywhere, I don’t want to have to prefix everything with “I”. Coding to interfaces is a best practice, so I don’t need to explicitly state that I am doing it…It should just happen – which makes the “I” prefix redundant.

Furthermore, the “Impl” suffix is also redundant. Yes, indeed, your dilemma isn’t as simple as picking between the two. Firstly, “Impl” doesn’t translate. “Impl” in other languages has no meaning, and yes I’m talking about Polish and Scala. In Polish (according to Google translate), “implementation” is “realizacja” and in Scala, there are no interfaces. The closest thing Scala has to interfaces is traits, which can contain implementation specific code. So really, everything is Scala is an implementation, so why you use “Impl” suffix?

Secondly “Impl” is restrictive. What happens when you want to add another implementation of Foo? You gonna call it “FooImplImpl”? “AnotherFooImpl”? “FooImpl2″? I didn’t think so. Perhaps you were going to just call it “FooImpl” and put it in a different package…

Thirdly “Impl” doesn’t convey any meaning about what the implementation is. You wouldn’t create an “AnimalImpl” would you? You’d create a “Lion” or an “Elephant”. There is almost always something that distinguishes your implementation that you can use in the class name. Even if it is a long name, it doesn’t matter – you’re coding to interfaces (remember?), so you’re rarely going to see that class name.

Lastly, and probably most importantly – you still can’t think of a name? You don’t need an interface. If you really can’t think of a name, your class must be generic enough to not need an interface and you’re probably not going to have any other implementations. Your class methods become the interface contract, and that is that.

9,159 thoughts on “Java interface and implementation naming (or “I” or “Impl”)

  1. Закладка соли Купить Кокаин Мефедрон Бошки Марихуану Мефедрон закладка

  2. obstawiane przez graczy w ruletkД™ casino bonus no deposit

  3. Visit https://seatofish.com — a blog dedicated to smartphones and AI—to find the latest information from the world of modern technology. You’ll discover everything from the latest AI training methods to reviews of new gadgets and selections of the best models. There is something here for everyone.

  4. Visit https://thetradable.net — the best source for analytics on Forex global markets and gold as well as trading signals and everything related to AI-powered trading. Featuring only expert opinions and in-depth analysis.

  5. Агрегатор посуточной аренды https://sravniphuket.com на Пхукете. Вы сможете сравнивать цены на посуточную аренду отелей и аренду напрямую. Лучшие цены у нас на сайте. Объекты с прямыми ценами владельцев и реальные цены отелей.

  6. Visit the interesting website https://www.predicts.guru to track smart money uncover trading patterns and analyze markets using clear data. The radar identifies wallets and markets worth investigating by leveraging recent buying flows historical performance conviction levels whale activity new wallet participation and market momentum.

  7. Is an independent resource https://antidetect.org dedicated to online privacy anonymity and secure multi-account management. The site reviews anti-detect browsers fingerprinting protection tools proxies and other privacy antidetect solutions while publishing practical guides on protecting digital identity and safely managing multiple accounts across marketplaces advertising platforms and social media.

  8. Мефедрон закладка Купить Кокаин Мефедрон Бошки Марихуану Купить гашиш марихуану мефедрон бошки

  9. Visit the website https://profi-forex.pro to stay updated on the latest market news regarding gas oil the dollar and other currencies as well as global and stock markets and much more. Access comprehensive analyses from experts.

  10. На сайті знайдете https://meatportal.com.ua знайдете: рецепти поради домогосподаркам кулінарні лайфхаки. Готуйте смачно швидко і легко. Про сучасну кулінарію розповідає блог MeatPortal.

  11. Завітайте на сайт https://xata.od.ua. Займаєтесь будівництвом ремонтом або просто фермерством? Блог Українська Хата розповість актуальну інформацію про теми: будинок затишок фермерську справу і дізнайтесь актуальні теми.

  12. Новости Одессы и Одесской области https://sky-post.odesa.ua всегда найдете на сайте. Не пропускайте актуальные события города и региона: общество события происшествия. Все на одном региональном сайте новостей.

  13. Looking for a quick way to try a tower-climbing multiplier game without downloading anything? Found a free demo where you build floors watch the multiplier grow and cash out before the tower collapses. No registration no deposit needed. It is a solid way to get a feel for the mechanics before playing for real money. Try it here: https://spintowerrush.com/demo-play/ It runs right in the browser on desktop and mobile no app required.

  14. Visit the website https://myrockshows.com for the latest and most comprehensive information on upcoming concerts and major festivals so you never miss a rock event in your city. You can also purchase tickets at the best prices.

  15. Visit the website https://skgclean.gr to book professional cleaning services for homes offices and villas in Thessaloniki and Halkidiki. We are a reliable team equipped with our own vehicles and gear. Book your cleaning service directly online.

  16. Где купить наркотики Купить Кокаин Мефедрон Бошки Марихуану Закладки наркотики

  17. ООО «Ломбард Единство» https://lombard-edinstvo.ru – многопрофильная сеть ломбардов в Сочи предоставляющий срочные займы под залог ювелирных изделий техники часов и автомобилей. Мы предлагаем до 80 от оценочной стоимости залога без скрытых комиссий и дополнительных платежей. Ваше имущество будет в безопасности – все залоги застрахованы. Работаем без выходных быстро оформляем сделки гарантируем конфиденциальность и индивидуальный подход. Мы ценим ваше время и предлагаем прозрачные выгодные условия сотрудничества.

  18. Visit the website https://dota2pot.com a Dota 2 roulette jackpot lottery site featuring a minimum bet of 1 cent and multiple game modes for Steam items. Participants wager skins and once the round ends a winner is selected via a randomizing service to take it all Find out more on the site.

  19. Собираешься на Пхукет? аренда жилья на пхукете все услуги на Пхукете в одном месте: трансферы аренда авто и байков индивидуальный водитель подбор жилья помощь с заселением доставка товаров экскурсии дайвинг бронирование ресторанов запись к врачам переводчики визовая поддержка и услуги байера.

  20. Справочник по камерам https://kamera-polimer.ru и печам полимеризации для порошковой окраски. Расчеты мощности ТЭНов режимы нагрева настройка автоматики и устранение дефектов – без маркетинга только цифры и рабочие схемы.

  21. Весовое оборудование https://uzvo.ru/catalog от производителя для предприятий и коммерческих объектов. В каталоге промышленные платформенные торговые и другие виды весов. Подбор оборудования по техническим параметрам изготовление и поставка с учетом требований заказчика.

  22. kasyno szybkie wypЕ‚aty can you play blackjack in rdr2 online

  23. Масло конопли купить Купить Кокаин Мефедрон Бошки Марихуану Гашиш москва

  24. polskie legalne kasyna jak wypłacić pieniądze z kasyna internetowego

  25. Купить мефедрон бошки Купить Кокаин Мефедрон Бошки Марихуану Соль меф купить

  26. Я снова здесь. В этом чёртовом зале пропахшем железом и чужим потом. Мои руки машинально тянут рукоятку тренажёра мышцы ноют привычной болью а мысли — мысли совсем не о спорте. Я смотрю на неё. Она сидит за стойкой ресепшена перебирает бумаги изредка поднимает глаза и улыбается входящим. Вежливо дежурно. Но когда наши взгляды пересекаются в её зрачках вспыхивает что-то совсем иное — тёмное спрятанное под маской скучающей администраторши. Жена тренера. Катя. раз анальный секс Я помню как увидел её впервые. Год назад когда только купил абонемент. Сергей мой тренер здоровенный мужик с бычьей шеей и вечно красным лицом орал на меня за неправильную технику приседа. Она подошла подала ему бутылку воды мельком глянула на меня — и ушла. Ничего особенного. Обычная женщина фигуристая с тяжёлой грудью которую она прятала под бесформенными футболками с длинными тёмными волосами. Но было в ней что-то такое… Приручённое. Так дикий зверь посаженный в клетку сохраняет грацию движений но теряет блеск в глазах. Она была красива той красотой которую уже не замечает муж. Я стал замечать. Мои тренировки совпадали с её сменами. Я высчитывал дни когда она будет за стойкой. Сергей ничего не подозревая продолжал орать на меня хлопать по плечу своей лапищей рассказывать про «базу» и «сушку» а я думал только о том как она поправляет волосы как облизывает губы когда задумывается как наклоняется над стойкой открывая взгляду ложбинку груди. Я представлял какая она там под одеждой. Представлял её запах. Не дезодорант и духи а её настоящий — той женщины которая спит с Сергеем но не любит его. Я был уверен что не любит. По тому как она отстранялась когда он мимоходом хлопал её по заднице. По тому как она вздрагивала когда он повышал голос. жесткое русское порно Мой член сейчас стоит так же как тогда в тот вечер. Я сижу на скамье для жима а перед глазами — не чёртово железо а тот момент когда всё началось. Это было в пятницу. Сергей уехал на какие-то соревнования в область — то ли судить то ли выступать я так и не понял. Зал закрывался рано. Я задержался доделывал подход когда услышал её шаги. Она подошла облокотилась на тренажёр рядом. гей порно — Ты всегда так долго? — спросила она. Голос был тихий без обычной дежурной бодрости. — Только когда есть на что смотреть. Я сам удивился своей смелости. Она не улыбнулась не отвела глаза. Просто смотрела на меня так словно что-то решала. В воздухе между нами повисло напряжение. Я чувствовал запах её тела — она была после душа но сквозь гель для душа пробивался её собственный аромат. — Пойдём — сказала она. — Покажу тебе растяжку. Сергей говорил у тебя с этим проблемы. Мы прошли в пустой зал для групповых занятий. Зеркала во всю стену. Маты на полу. Она закрыла дверь на щеколду — просто буднично словно делала это сто раз. Я стоял как дурак не зная куда девать руки. А она села на мат развела ноги в шпагат — легко профессионально как умеют только гимнастки и танцовщицы. Футболка натянулась на груди обрисовав соски. Она была без лифчика. — Ну? — она посмотрела на меня снизу вверх. — Давай. Тянись. Я опустился рядом. Мои руки дрожали. Я положил ладони ей на плечи нажал — она подалась вперёд и её дыхание коснулось моего лица. — Не так — прошептала она. — Вот так. жесткое порно бесплатно https://vklader.ru/piramida-vasilenko/kipr/

  27. Я снова здесь. В этом чёртовом зале пропахшем железом и чужим потом. Мои руки машинально тянут рукоятку тренажёра мышцы ноют привычной болью а мысли — мысли совсем не о спорте. Я смотрю на неё. Она сидит за стойкой ресепшена перебирает бумаги изредка поднимает глаза и улыбается входящим. Вежливо дежурно. Но когда наши взгляды пересекаются в её зрачках вспыхивает что-то совсем иное — тёмное спрятанное под маской скучающей администраторши. Жена тренера. Катя. гей порно член Я помню как увидел её впервые. Год назад когда только купил абонемент. Сергей мой тренер здоровенный мужик с бычьей шеей и вечно красным лицом орал на меня за неправильную технику приседа. Она подошла подала ему бутылку воды мельком глянула на меня — и ушла. Ничего особенного. Обычная женщина фигуристая с тяжёлой грудью которую она прятала под бесформенными футболками с длинными тёмными волосами. Но было в ней что-то такое… Приручённое. Так дикий зверь посаженный в клетку сохраняет грацию движений но теряет блеск в глазах. Она была красива той красотой которую уже не замечает муж. Я стал замечать. Мои тренировки совпадали с её сменами. Я высчитывал дни когда она будет за стойкой. Сергей ничего не подозревая продолжал орать на меня хлопать по плечу своей лапищей рассказывать про «базу» и «сушку» а я думал только о том как она поправляет волосы как облизывает губы когда задумывается как наклоняется над стойкой открывая взгляду ложбинку груди. Я представлял какая она там под одеждой. Представлял её запах. Не дезодорант и духи а её настоящий — той женщины которая спит с Сергеем но не любит его. Я был уверен что не любит. По тому как она отстранялась когда он мимоходом хлопал её по заднице. По тому как она вздрагивала когда он повышал голос. смотреть порно жесток Мой член сейчас стоит так же как тогда в тот вечер. Я сижу на скамье для жима а перед глазами — не чёртово железо а тот момент когда всё началось. Это было в пятницу. Сергей уехал на какие-то соревнования в область — то ли судить то ли выступать я так и не понял. Зал закрывался рано. Я задержался доделывал подход когда услышал её шаги. Она подошла облокотилась на тренажёр рядом. гей порно молодые — Ты всегда так долго? — спросила она. Голос был тихий без обычной дежурной бодрости. — Только когда есть на что смотреть. Я сам удивился своей смелости. Она не улыбнулась не отвела глаза. Просто смотрела на меня так словно что-то решала. В воздухе между нами повисло напряжение. Я чувствовал запах её тела — она была после душа но сквозь гель для душа пробивался её собственный аромат. — Пойдём — сказала она. — Покажу тебе растяжку. Сергей говорил у тебя с этим проблемы. Мы прошли в пустой зал для групповых занятий. Зеркала во всю стену. Маты на полу. Она закрыла дверь на щеколду — просто буднично словно делала это сто раз. Я стоял как дурак не зная куда девать руки. А она села на мат развела ноги в шпагат — легко профессионально как умеют только гимнастки и танцовщицы. Футболка натянулась на груди обрисовав соски. Она была без лифчика. — Ну? — она посмотрела на меня снизу вверх. — Давай. Тянись. Я опустился рядом. Мои руки дрожали. Я положил ладони ей на плечи нажал — она подалась вперёд и её дыхание коснулось моего лица. — Не так — прошептала она. — Вот так. анальный секс первые https://1-consult.net/companies/cernye-brokery/1906-life-is-good

  28. Где купить героин Купить Кокаин Мефедрон Бошки Марихуану Купить лирику в москве

  29. Нужны кадастровые и геодезические работы? геодезические работы под ключ Оказываем полный набор услуг по кадастровому учёту и геодезическим изысканиям: проведём межевание разработаем технические планы поможем с оформлением домов и помещений выполним необходимые геодезические измерения внесём корректировки в сведения ЕГРН. Гарантируем сопровождение на всех этапах — до получения итогового результата.

  30. онлайн займ на карту деньги в долг онлайн

  31. займ на на карту онлайн получить займ онлайн

  32. Женский журнал https://wlife.com.ua о красоте здоровье моде отношениях семье и повседневной жизни. Полезные советы интересные статьи тренды рецепты идеи для дома и актуальные материалы для современных женщин.

  33. Наркошопы телеграм Купить Кокаин Мефедрон Бошки Марихуану Купить гашиш бошки

  34. займ онлайн без процентов деньги без проверок

  35. займ онлайн на карту займ на карту без справок

  36. оформить микрозайм первый займ без процентов

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>