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.

1,916 thoughts on “Java interface and implementation naming (or “I” or “Impl”)

  1. Thinking over my time in virtual gaming I have noticed that current sites have completely transformed the method we experience tables. Personally I think that the payouts are often super random which is why proper budget management is the real key nowadays . On another note I ran into this useful platform url=https://telegra.ph/Fragile-OpportunitC3A0-nel-Mondo-dei-migliori-casino-non-aams-con-Prelievi-Veloci-e-Giochi-Esclusivi-06-08https://telegra.ph/Fragile-OpportunitC3A0-nel-Mondo-dei-migliori-casino-non-aams-con-Prelievi-Veloci-e-Giochi-Esclusivi-06-08/url https://telegra.ph/Fragile-OpportunitC3A0-nel-Mondo-dei-migliori-casino-non-aams-con-Prelievi-Veloci-e-Giochi-Esclusivi-06-08 where users talk about various betting tips and I found it quite valuable to keep my spending under control. One thing I constantly remind newbies is to never track losses because its almost always how the fun turns bad. Lately Ive also been thinking whether the real-time dealer tables genuinely give a fairer experience compared to regular digital software . How do you all feel about that do you stick to slots or cards ? Lets get a chat going in this thread

  2. Thinking about it with online wagering I have realized how current platforms have completely transformed the method we enjoy games . In my opinion it feels like the payouts tend to be super random which proves that careful budget control is the real key these days . By the way I checked out this cool platform url=https://telegra.ph/Seguridad-y-C389xito-en-el-Juego-Online-Encuentra-el-best-online-casino-Ideal-06-08https://telegra.ph/Seguridad-y-C389xito-en-el-Juego-Online-Encuentra-el-best-online-casino-Ideal-06-08/url https://telegra.ph/Seguridad-y-C389xito-en-el-Juego-Online-Encuentra-el-best-online-casino-Ideal-06-08 where users share various tactical tips and I found it really helpful for keeping my spending down . Something I regularly remind others is to never track bad runs because that tends to be when the fun turns bad. Lately Ive also wondered whether the real-time dealer options genuinely provide a more authentic vibe than standard digital versions. How do you all feel about that do you stick to slots or tables? Let’s chat going below

  3. Thinking over my time around virtual gambling Ive recently realized how current sites are shifting the method players enjoy games . In my opinion it seems like the house edge can be totally volatile which makes me think proper bankroll management is incredibly crucial in this hobby. On another note I checked out this useful source url=https://telegra.ph/Puissante-Attraction-des-Casinos-en-Ligne-une-ExpC3A9rience-Accessible-et-SC3A9curisC3A9e-06-08https://telegra.ph/Puissante-Attraction-des-Casinos-en-Ligne-une-ExpC3A9rience-Accessible-et-SC3A9curisC3A9e-06-08/url https://telegra.ph/Puissante-Attraction-des-Casinos-en-Ligne-une-ExpC3A9rience-Accessible-et-SC3A9curisC3A9e-06-08 where people talk about various tactical strategies and it’s been really helpful for keeping my risks down . A major point I constantly advise myself is to never run after losses because that tends to be how everything gets messy . Recently Ive also wondered whether the live croupier options actually offer a fairer vibe compared to standard digital software . How do you all feel about that and did you found any solid trends recently? Let’s start a going below

  4. Thinking back with online wagering I have realized that the latest platforms are shifting the way users enjoy slots . To be fair it seems like the odds tend to be all over the place which makes me think careful bankroll control is the real key these days . By the way I ran into this useful resource url=https://telegra.ph/Resolute-Strategies-for-Aviator-Success-Leveraging-the-aviator-predictor-apk-06-08https://telegra.ph/Resolute-Strategies-for-Aviator-Success-Leveraging-the-aviator-predictor-apk-06-08/url https://telegra.ph/Resolute-Strategies-for-Aviator-Success-Leveraging-the-aviator-predictor-apk-06-08 where players share different tactical tips and I found it surprisingly valuable for keeping my losses under control. A major point I constantly remind myself is to avoid trying to run after bad runs because that’s usually when things gets messy . Over the last few weeks Ive also wondered whether the stream croupier tables truly give a better experience than classic RNG software . What’s your take on this whole thing do you stick to machines or tables? Let’s chat going below

  5. Thinking over my time in online gambling I’ve come to see how modern platforms are shifting the method users play slots . In my opinion it feels like the house edge are often all over the place which makes me think careful budget management is incredibly crucial in this hobby. That said I ran into this useful review page url=https://telegra.ph/Lapaisement-du-jeu-en-ligne-un-guide-pour-dC3A9nicher-le-meilleur-casino-en-ligne-06-08https://telegra.ph/Lapaisement-du-jeu-en-ligne-un-guide-pour-dC3A9nicher-le-meilleur-casino-en-ligne-06-08/url https://telegra.ph/Lapaisement-du-jeu-en-ligne-un-guide-pour-dC3A9nicher-le-meilleur-casino-en-ligne-06-08 where users talk about different tactical systems and it’s been really helpful to keep my risks low . Something I constantly remind myself is to avoid trying to run after losses because that’s usually how the fun gets messy . Lately Ive also wondered whether the stream dealer tables truly give a better chance compared to standard RNG software . How do you all feel about that do you prefer slots or tables? Let’s discussion here in the comments

  6. Thinking on my experience in online gaming Ive recently observed that the latest platforms have completely transformed the method players play games . To be fair it feels like the odds can be super random which is why careful bankroll management matters most nowadays . By the way I checked out this interesting review page url=https://telegra.ph/Radici-e-OpportunitC3A0-dei-Migliori-Casino-Non-AAMS-per-Giocatori-Italiani-06-08https://telegra.ph/Radici-e-OpportunitC3A0-dei-Migliori-Casino-Non-AAMS-per-Giocatori-Italiani-06-08/url https://telegra.ph/Radici-e-OpportunitC3A0-dei-Migliori-Casino-Non-AAMS-per-Giocatori-Italiani-06-08 where players share various betting tips and it’s been really helpful for keeping my spending low . Something I regularly advise myself is to avoid trying to chase bad runs because its almost always how everything turns bad. Lately Ive also been thinking if the stream dealer tables actually provide a more authentic experience compared to standard digital software . What are your views on this and have you noticed any good trends recently? Let’s debate going in this thread

  7. Thinking over my time around virtual betting I’ve realized that modern sites have completely transformed the method players play tables. Personally it feels like the odds tend to be super random which proves that smart bankroll control is the real key these days . By the way I ran into this useful review page url=https://telegra.ph/Lartisanat-du-jeu-et-lattrait-du-casino-en-ligne-pour-une-expC3A9rience-sur-mesure-06-08https://telegra.ph/Lartisanat-du-jeu-et-lattrait-du-casino-en-ligne-pour-une-expC3A9rience-sur-mesure-06-08/url https://telegra.ph/Lartisanat-du-jeu-et-lattrait-du-casino-en-ligne-pour-une-expC3A9rience-sur-mesure-06-08 where people share various betting strategies and it’s been surprisingly insightful to keep my losses down . One thing I always advise newbies is to avoid trying to chase bad runs because that’s usually how things gets messy . Lately Ive also wondered if the live dealer options truly provide a more authentic chance than classic digital software . What’s your take on this whole thing do you stick to slots or cards ? Lets get a start a here in this thread

  8. Thinking about it in virtual gaming I have noticed that current platforms are totally changing the way users enjoy games . To be fair I think that the odds can be all over the place which is why proper budget management is incredibly crucial these days . By the way I ran into this interesting platform url=https://telegra.ph/Begeisternder-Applaus-fC3BCr-Chicken-Road-Erfahrungen-Strategien-und-Risiken-im-Crash-Spiel-06-08https://telegra.ph/Begeisternder-Applaus-fC3BCr-Chicken-Road-Erfahrungen-Strategien-und-Risiken-im-Crash-Spiel-06-08/url https://telegra.ph/Begeisternder-Applaus-fC3BCr-Chicken-Road-Erfahrungen-Strategien-und-Risiken-im-Crash-Spiel-06-08 where people talk about different tactical systems and I found it quite helpful to keep my losses low . Something I regularly advise myself is to never track bad runs because that’s usually how everything turns bad. Over the last few weeks Ive also been thinking if the stream dealer options truly give a better vibe compared to regular RNG versions. What’s your take on this whole thing and have you noticed any good trends lately ? Let’s discussion here in the comments

  9. Thinking over my time with online gambling I have observed that new casinos have completely transformed how users play tables. In my opinion it seems like the payouts can be all over the place which is why proper budget control matters most nowadays . By the way I found this useful source url=https://telegra.ph/La-Potencia-del-ArchipC3A9lago-Casino-Caliente-Online-y-Estrategias-Ganadoras-06-08https://telegra.ph/La-Potencia-del-ArchipC3A9lago-Casino-Caliente-Online-y-Estrategias-Ganadoras-06-08/url https://telegra.ph/La-Potencia-del-ArchipC3A9lago-Casino-Caliente-Online-y-Estrategias-Ganadoras-06-08 where players share various tactical strategies and it has really valuable to keep my spending low . Something I always remind others is to never chase bad runs because that tends to be how everything turns bad. Over the last few weeks Ive also been thinking if the real-time croupier options genuinely give a more authentic experience compared to regular RNG software . What’s your take on this whole thing and have you noticed any solid trends lately ? Lets get a start a here in the comments

  10. Thinking on my experience around digital gambling Ive recently observed how the latest sites have completely transformed the method we enjoy games . In my opinion it feels like the odds are often super random which makes me think proper budget management is the real key these days . That said I stumbled upon this interesting platform url=https://telegra.ph/Nati-CasinC3B2-Non-Aams-Guida-Completa-ai-Migliori-Siti-di-Gioco-Online-Sicuri-06-08https://telegra.ph/Nati-CasinC3B2-Non-Aams-Guida-Completa-ai-Migliori-Siti-di-Gioco-Online-Sicuri-06-08/url https://telegra.ph/Nati-CasinC3B2-Non-Aams-Guida-Completa-ai-Migliori-Siti-di-Gioco-Online-Sicuri-06-08 where users talk about various tactical tips and I found it surprisingly insightful to keep my spending under control. One thing I constantly remind others is to never run after bad runs because that tends to be how things turns bad. Lately Ive also been thinking if the real-time croupier tables truly offer a fairer chance compared to classic digital software . What’s your take on this whole thing and did you found any solid trends lately ? Would love to start a here in the comments

  11. Thinking over my time with digital wagering Ive recently noticed how the latest casinos are really changing how users enjoy games . In my opinion I think that the payouts are often all over the place which makes me think proper bankroll management is the real key these days . By the way I found this useful source url=https://telegra.ph/Afortunado-y-astuto-con-el-online-casino-para-una-experiencia-inolvidable-06-08https://telegra.ph/Afortunado-y-astuto-con-el-online-casino-para-una-experiencia-inolvidable-06-08/url https://telegra.ph/Afortunado-y-astuto-con-el-online-casino-para-una-experiencia-inolvidable-06-08 where people talk about different winning strategies and I found it surprisingly insightful for keeping my spending low . Something I constantly remind myself is to avoid trying to track losses because that tends to be how the fun turns bad. Recently Ive also started questioning whether the live dealer options actually give a more authentic vibe than regular digital software . What are your views on this do you prefer slots or cards ? Lets get a chat here below

  12. Thinking on my experience in online gaming Ive recently realized how current platforms are absolutely changing the method players enjoy tables. To be fair I think that the payouts tend to be super random which is why proper budget control is the real key nowadays . By the way I stumbled upon this useful source url=https://telegra.ph/Authentique-savoir-faire-et-casino-en-ligne-fiable-pour-une-expC3A9rience-optimale-06-08https://telegra.ph/Authentique-savoir-faire-et-casino-en-ligne-fiable-pour-une-expC3A9rience-optimale-06-08/url https://telegra.ph/Authentique-savoir-faire-et-casino-en-ligne-fiable-pour-une-expC3A9rience-optimale-06-08 where players talk about various tactical tips and I found it really helpful to keep my risks under control. Something I constantly remind others is to avoid trying to run after losses because its almost always how the fun gets messy . Recently Ive also been thinking whether the stream croupier options genuinely give a more authentic experience compared to regular RNG versions. How do you all feel about that do you prefer machines or cards ? Would love to discussion here below

  13. Thinking about it with digital gaming I have observed that current sites have completely transformed the method we enjoy slots . Personally it seems that the house edge are often all over the place which makes me think smart budget control matters most nowadays . Anyway I stumbled upon this interesting resource url=https://telegra.ph/Lartisanat-du-jeu-et-lattrait-du-casino-en-ligne-pour-une-expC3A9rience-sur-mesure-06-08https://telegra.ph/Lartisanat-du-jeu-et-lattrait-du-casino-en-ligne-pour-une-expC3A9rience-sur-mesure-06-08/url https://telegra.ph/Lartisanat-du-jeu-et-lattrait-du-casino-en-ligne-pour-une-expC3A9rience-sur-mesure-06-08 where players talk about different tactical strategies and it has really insightful for keeping my losses down . One thing I constantly advise others is to avoid trying to track bad runs because that’s usually when the fun turns bad. Lately Ive also wondered whether the stream dealer options truly provide a better chance than classic digital software . How do you all feel about that do you stick to slots or tables? Would love to chat here in the comments

  14. Thinking on my experience around online wagering Ive recently come to see how the latest platforms have completely transformed the way users enjoy tables. In my opinion it seems that the odds are often totally volatile which makes me think careful budget management is absolutely crucial in this hobby. That said I ran into this awesome platform url=https://telegra.ph/Une-Courtisane-du-Jeu-en-Ligne-Guide-pour-Trouver-le-meilleur-casino-en-ligne-en-France-06-08https://telegra.ph/Une-Courtisane-du-Jeu-en-Ligne-Guide-pour-Trouver-le-meilleur-casino-en-ligne-en-France-06-08/url https://telegra.ph/Une-Courtisane-du-Jeu-en-Ligne-Guide-pour-Trouver-le-meilleur-casino-en-ligne-en-France-06-08 where players talk about different tactical strategies and it’s been surprisingly insightful for keeping my risks down . One thing I regularly remind newbies is to avoid trying to track bad runs because its almost always how things gets messy . Over the last few weeks Ive also wondered if the live croupier options genuinely give a better experience than classic digital software . What are your thoughts on this and did you found any reliable trends recently? Lets get a chat going in the comments

  15. Thinking over my time in digital gaming I’ve observed that the latest platforms are absolutely changing the method we enjoy slots . To be fair it seems that the odds can be super random which makes me think careful bankroll management is absolutely crucial nowadays . By the way I found this interesting source url=https://telegra.ph/Lapaisement-du-jeu-en-ligne-un-guide-pour-dC3A9nicher-le-meilleur-casino-en-ligne-06-08https://telegra.ph/Lapaisement-du-jeu-en-ligne-un-guide-pour-dC3A9nicher-le-meilleur-casino-en-ligne-06-08/url https://telegra.ph/Lapaisement-du-jeu-en-ligne-un-guide-pour-dC3A9nicher-le-meilleur-casino-en-ligne-06-08 where people talk about different tactical tips and I found it quite helpful to keep my risks under control. One thing I constantly tell myself is to never chase bad runs because that tends to be how the fun turns bad. Over the last few weeks Ive also been thinking if the live dealer tables actually offer a better experience than regular RNG software . What do you guys views on this do you prefer slots or tables? Lets get a debate here in this thread

  16. Thinking back around virtual wagering I’ve come to see how current platforms have completely transformed how we experience games . In my opinion I think that the house edge can be totally volatile which is why careful bankroll management is absolutely crucial nowadays . Anyway I found this interesting review page url=https://telegra.ph/La-Potencia-del-ArchipC3A9lago-Casino-Caliente-Online-y-Estrategias-Ganadoras-06-08https://telegra.ph/La-Potencia-del-ArchipC3A9lago-Casino-Caliente-Online-y-Estrategias-Ganadoras-06-08/url https://telegra.ph/La-Potencia-del-ArchipC3A9lago-Casino-Caliente-Online-y-Estrategias-Ganadoras-06-08 where users talk about different betting tips and I found it really valuable for keeping my spending low . One thing I constantly tell myself is to avoid trying to track bad runs because that’s usually how things goes wrong . Lately Ive also started questioning whether the stream croupier options genuinely offer a fairer experience compared to regular RNG software . How do you all feel about that and have you noticed any good trends recently? Would love to chat here below

  17. Thinking on my experience with digital wagering Ive recently observed that current casinos have completely transformed the way we experience slots . Personally it seems that the house edge tend to be all over the place which makes me think proper budget control is incredibly crucial these days . That said I stumbled upon this cool resource url=https://telegra.ph/Rebellion-and-Strategy-in-teen-patti-for-Savvy-Players-06-08https://telegra.ph/Rebellion-and-Strategy-in-teen-patti-for-Savvy-Players-06-08/url https://telegra.ph/Rebellion-and-Strategy-in-teen-patti-for-Savvy-Players-06-08 where players discuss different betting tips and I found it really valuable to keep my spending down . A major point I always remind others is to never chase losses because that’s usually when everything gets messy . Over the last few weeks Ive also started questioning whether the real-time dealer tables actually offer a better vibe than classic RNG software . How do you all feel about that and have you found any reliable trends lately ? Let’s debate going in the comments

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>