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.
Fresh story inside https://financeprofessional.ee
buy gta 5 online account gta 5 boosting service
аренда автокрана екб автокраны аренда спецтехники
Most interesting http://www.financeprofessional.ee
king kong casino ruleta online zadarmo automaty bonus bez vkladu
Купить Кокаин Бошки Марихуану Мефедрон Гашиш москва
online casino euro automaty online realne peniaze vyherne automaty zadarmo
Read all about it financeprofessional.ee
сколько стоит создание сайта создание сайта интернет магазина
сколько аренда автокрана https://arenda-avtokrana-ekb.ru
Эксклюзивные подробности: https://carfrance.ru
Полное раскрытие темы: https://diabetschoolmakisheva.ru
casino 1 € bonus Zahraničné online casino bonus bez vkladu smart live gaming casino
Все подробности в источнике: https://dfprices.ru
Купить Кокаин Бошки Марихуану Мефедрон Где можно купить мефедрон
automaty kajot hry zdarma online casino bonus bez vkladu video blackjack online
Только лучшее здесь: https://mudrila.ru
Только лучшие материалы: https://zetfail.ru
What online casinos give you free play ZahraniДЌnГ© online casino bonus bez vkladu platba cez slovak telekom online automaty
Ключевые факты внутри: https://gshimki.ru
Купить Кокаин Бошки Марихуану Мефедрон Гашиш москва
mrbet no deposit bonus OvocnГ© hracie automaty zadarmo hracie automaty zdarma poker
Полная версия по ссылке: https://onliskill.ru
https://memoriasmutantes.pt/wp-content/pgs/?1xbet_codigo_promocional_hoje_brasil.html
https://albertcummings.com/wp-content/blogs.dir/?1xbet_promo_code___welcome_bonus_code.html
Запретная физика удачи книга
Запретная физика удачи книга
Расширенная статья здесь: https://siten.ru
Главные факты здесь: https://mirsmi24.ru
hrat automaty zdarma 3 valcove casino bonus bez vkladu europa casino bonus no deposit
Купить Кокаин Бошки Марихуану Мефедрон Телеграм мефедрон
Все детали в одно клик: https://hidplanet.ru
fortuna pЕ™ihlГЎЕЎenГ online ZahraniДЌnГ© online casino bonus bez vkladu online casino narodeninovy bonus
automati hri zdarma kajot ruleta online zadarmo casino bonus pri registrГЎcii
Купить Кокаин Бошки Марихуану Мефедрон Где можно купить марихуану
vyherne automaty online casino vklad mobilom hry automaty zdarma sizzling
Запретная физика удачи
Купить Кокаин Бошки Марихуану Мефедрон Где купить альфа пвп
многостраничный сайт на тильде сайт на тильде для бизнеса
sizzling hot automaty zdarma KasГna s minimГЎlnym vkladom 20 eur trojvalcove automaty zdarma
Дизельное топливо https://neftegazlogistika.ru оптом с доставкой по Москве и Московской области для регулярных и разовых поставок. Летнее межсезонное и зимнее ДТ разные объемы заказа доставка на объект и возможность заключения договора для постоянного сотрудничества.
Независимый рейтинг https://рейтинг-сюрвейерских-компаний.рф сюрвейерских компаний России поможет сравнить организации которые занимаются инспекцией грузов экспертизой контролем качества и количества товаров. Оцените опыт специализацию географию работы репутацию и спектр услуг ведущих участников рынка.
https://1xbetskachatios.ru
https://www-1xbet-skachat.ru
21 3 blackjack online free п»їnajlepЕЎie online kasГno vlt automaty online
Купить Кокаин Бошки Марихуану Мефедрон Где купить героин
casino bonus bez vkladu za registrГЎciu casino dobitie cez sms automaty zdarma szili hot
automaty hry zdarma lucky KasГna s minimГЎlnym vkladom 20 eur mГЎte kasГno v turecku
Купить Кокаин Бошки Марихуану Мефедрон Телеграм купить меф
Рейтинг строительных компаний https://рейтинг-строительных-компаний.рф России: обзор крупнейших участников строительного рынка их проектов и показателей деятельности. Узнайте какие компании лидируют по объему текущего строительства регионам присутствия и количеству возводимых объектов.