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.

14,823 thoughts on “Java interface and implementation naming (or “I” or “Impl”)”

  1. book of ra 6 deluxe slot free no deposit casino bonus codes usa e stave stavna lista kiosk casino bled online casino minimum 5 euro europa 5 euro no deposit casino

  2. Вывод из запоя решает задачу острой стабилизации но лечение алкоголизма на этом не заканчивается. Если запои повторяются необходимо работать с тягой психическими и социальными причинами проблемы. Комплексная программа может включать лечение зависимости кодирование психотерапию наблюдение нарколога и реабилитацию. Такой подход дает больше возможностей сохранить трезвость и постепенно восстановиться. Получить больше информации – http://vyvodd-iz-zapoya-v-krasnoyarske17.ru/

  3. При острых состояниях важно получить медицинскую помощь без неоправданной задержки. Наркологическая служба определяет подходящий формат обращения исходя из симптомов и степени тяжести. Возможность выезда на дом время приезда бригады необходимость стационарного лечения и дальнейшие процедуры уточняются во время звонка. Получить больше информации – https://narkologicheskaya-klinika-moskva15-3.ru/

  4. Нарколог на дом в Краснодаре — возможность быстро получить квалифицированную медицинскую помощь в привычной обстановке когда человеку трудно самостоятельно приехать в центр. Вызов нарколога на дом актуален при длительном запое тяжелом похмелье алкогольной интоксикации абстинентном синдроме ломке и ухудшении самочувствия после приема наркотиков или других психоактивных веществ. Врач осматривает пациента собирает анамнез оценивает работу внутренних органов и определяет можно ли безопасно проводить лечение дома либо человеку лучше находиться в стационаре. Дополнительная информация – нарколог на дом цена Краснодар

  5. Гусев купить закладку Кокаин Супер Качества Купить Марихуану Кокаин Бошки Гашиш Ларнака купить Героин РОЗНИЦА 999 VHQ Афганистан Михайловка купить закладку Euro HQ Hash ЧЕРНЫЙ

  6. Перед началом лечения доктор оценивает общее состояние больного самочувствие собирает анамнез уточняет наличие хронических заболеваний сердца и сосудов печени. Врач уточняет сколько дней продолжается запой когда человек употреблял алкоголь последний раз какие препараты принимал самостоятельно имеются ли аллергические реакции и серьезные заболевания. При осмотре специалист оценивает уровень сознания дыхание пульс и другие показатели а в сложных случаях рекомендует дополнительные анализы или стационарное обследование. Подробнее – вывод из запоя цена в Красноярске

  7. Помощь нарколога направлена не только на снятие похмелья. Вывод из запоя является первым медицинским этапом после которого врач может обсудить лечение алкоголизма кодирование психотерапию реабилитацию и профилактику повторных эпизодов. Такой подход особенно важен если алкогольная зависимость имеет продолжительный характер человек регулярно возвращается к запойному употреблению или уже проходил самостоятельные попытки остановить прием алкоголя без устойчивого результата. Ознакомиться с деталями – https://vyvod-iiz-zapoya-v-krasnoyarske17.ru/

  8. casino bonus telegram cool cat no deposit bonus codes casino bonus hunt poker igre online free Hell Spin igra casino online play book of ra demo online zodiac casino free slots

  9. Нарколог на дом в Луганске — медицинская услуга для пациентов которым требуется профессиональное лечение без самостоятельной поездки в клинику. Врач проводит прием дома оценивает состояние больного собирает историю употребления определяет признаки алкогольной или наркотической зависимости и подбирает дальнейшее лечение. Выездная наркологическая помощь востребована после длительного запоя при выраженном похмелье интоксикации ломке и других состояниях когда человеку сложно самостоятельно обратиться в центр. Узнать больше – запой нарколог на дом

  10. Помощь может включать консультацию детоксикацию стационар и дальнейшее сопровождение по показаниям. Изучить вопрос подробнее – нарколог на дом цена

  11. Помощь можно получить анонимно с аккуратным оформлением и внимательным отношением к личным данным. Узнать больше – bystryj-vyvod-iz-zapoya

  12. Вывод из запоя относится к наиболее востребованным услугам наркологической клиники. Медицинская процедура направлена на прекращение продолжительного употребления уменьшение проявлений абстинентного синдрома и поддержку организма. Перед назначениями врач проводит осмотр узнает сколько дней человек пил какие напитки употреблял сколько примерно спиртного приходилось на день и были ли ранее осложнения. Получить больше информации – наркологическая клиника нарколог

  13. Быстро собираем первичную информацию оцениваем риски и предлагаем подходящий вариант обращения. Подробнее – нарколог на дом цена Краснодар

  14. multilotto casino no deposit bonus codes zastonj casino igre pharaoh fortune slot machine free play casino brezplaДЌne igre best free poker bingohall online casino

  15. Решение вызвать врача особенно важно если состояние зависимого быстро ухудшается появляются выраженные расстройства сна тревожные или панические атаки сильная слабость рвота тремор перепады давления либо нарушения поведения. Однако запой часто сопровождается обострением хронических заболеваний и развитием сопутствующих патологий. Поэтому медицинская диагностика нужна не только для снятия похмелья но и для оценки возможных осложнений. Подробнее – вывод из запоя дешево в Красноярске

  16. Наркология объединяет медицинское лечение психологию психиатрию и технологии реабилитации. Основной комплекс помощи может включать очищение организма медикаментозное лечение диагностику лечение абстинентного синдрома консультацию психотерапевта работу с мотивацией зависимого и последующее возвращение в социум. Если болезнь существует на протяжении нескольких лет терапия обычно требует больше времени. Подробнее доктор объясняет пациенту какие задачи решаются на каждом этапе и почему полный курс лечения не стоит заменять одной капельницей. Получить больше информации – запой наркологическая клиника

  17. Общаемся без осуждения и давления сохраняя спокойную атмосферу для пациента и семьи. Получить больше информации – vyvod-iz-zapoyaa-v-krasnoyarske17.ru/

  18. Москва ЗАО купить закладку Mephedrone: Мука HQ Купить Кокаин Мефедрон Марихуану МДМА MDMA в Полярном Москва Южнопортовый купить закладку Метадон чистота 99

  19. Срочная наркологическая помощь требуется при выраженном похмельном или абстинентном синдроме длительном запойном состоянии алкогольном отравлении и последствиях употребления наркотиков. Медики знают что одинаковые симптомы могут иметь различные причины поэтому перед постановки капельницы необходимо определить диагноз и исключить серьезные противопоказания. Получить больше информации – https://narcolog-na-dom-lugansk2.ru/

  20. online casinos slovenia jackpot city casino big win bet 365 blokiran casino admiral kongo promolza rojstni dan Avtomati v igralnici slotsmoon casino no deposit bonus codes bet365 100 bonus What is the €20 method at a casino

  21. Современные методы лечения подбираются по медицинским показаниям. В клинике могут рассматриваться медикаментозное кодирование методы с применением психотерапии и комбинированные программы. У каждого способа есть особенности показания и противопоказания. Некоторые методы воздействуют на фармакологической основе другие направлены на формирование психологической установки и изменение отношения к спиртному. Самый подходящий вариант определяет нарколог а при наличии эмоциональных и поведенческих нарушений к работе может подключаться психиатр психолог или психотерапевт. Ознакомиться с деталями – клиника кодирования от алкоголизма москва

  22. omni casino no deposit bonus new casino bonus free slot machines yukon gold casino free spins no deposit besplatne casino igre joker slot casino brez pologa

  23. Помощь может включать консультацию детоксикацию стационар и дальнейшее сопровождение по показаниям. Дополнительная информация – нарколог вывод из запоя

  24. Запой опасен тем что регулярный прием спиртного поддерживает интоксикацию и приводит к накоплению токсинов. Нарушается работа внутренних органов появляются бессонница тревога рвота боли сердцебиение изменение давления. Иногда достаточно нескольких дней непрерывного пьянства чтобы самочувствие резко ухудшилось. При алкоголизме который продолжается много лет течение абстиненции нередко становится сложнее. Узнать больше – вывод из запоя клиника в Красноярске

  25. столешница из искусственного камня для кухни цена faktura-vybor.space гранитная плитка 600х300х20 цена

  26. Bài viết này rất bổ ích. Nhân dịp này, mình muốn giới thiệu nhà
    cái cá cược trực tuyến uy tín hàng đầu châu Âu năm 2026 là
    thương hiệu TOPBET.

    Nền tảng này cung cấp đa dạng kèo thể thao,
    live casino sòng phẳng và nhiều trò chơi hấp dẫn khác.
    Đặc biệt giao diện rất xịn xò, đặt cược cực
    nhanh chóng trên mọi thiết bị. Nạp rút bên này xử lý cực nhanh, bảo mật cao
    nên anh em hoàn toàn yên tâm nhé.

    Để truy cập chuẩn nhất topbet.stream nha.
    Vào topbet.stream đăng ký ngay để húp trọn ưu đãi tân thủ cực khủng
    nhé. Chúc anh em rực rỡ cùng topbet.stream.
    Hashtag: #dang_nhap_topbet #link_topbet #cacuoc_topbet

  27. Фуджейра купить LSD 220 мг Купить Кокаин Марихуану Бошки Мефедрон Печоры купить шишки Алтайский край купить Кристаллы соль

  28. Главный принцип оказания помощи — безопасность пациента. Наркологическая служба работает круглосуточно поэтому вызвать нарколога можно днем ночью в выходные и праздники. Домашнее лечение подходит не во всех случаях: при передозировке судорогах нарушении сознания признаках белой горячки или тяжелого психоза требуется экстренная помощь скорой и лечение в стационаре. Если состояние позволяет врач проводит детоксикацию снятие абстинентного синдрома и составляет программу дальнейшего лечения алкоголизма или наркомании. Изучить вопрос подробнее – https://narcolog-na-dom-lugansk9.ru/

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>