#BeEffective – Zastosowanie wzorca Builder (budowniczego)

W pierwszym wpisie z cyklu #BeEffective poruszony został temat statycznych metod fabrycznych i konstruktorów. Posiadają one jednak pewną wspólną wadę – nie są optymalne do obsługi wielu parametrów opcjonalnych. Rozważmy przypadek klasy reprezentującej etykiety z informacją o składnikach odżywczych. Taka etykieta z pól wymaganych posiada wielkość porcji, ilość porcji na opakowanie oraz liczbę kalorii na 100g produktu. Posiada także wiele pól opcjonalnych – od prostego podziału węglowodany / białka / tłuszcze, po rozbite na części pierwsze wszystkie mikro i makroelementy. Większość produktów niezerowe wartości ma tylko dla kilku z pól opcjonalnych. Czytaj dalej #BeEffective – Zastosowanie wzorca Builder (budowniczego)

Nowy cykl – #BeEffective – Statyczne metody fabryczne zamiast konstruktorów

Dość późno w mojej karierze dotarłem do książki, którą każdy middev powinien przeczytać, bo dopiero teraz. Ten tytuł to oczywiście Java. Efektywne programowanie od Joshuy Blocha. Tym samym otwieram cykl #BeEffective, w którym omawiać będę kolejne lekcje tego podręcznika. W końcu, jak stoi w przedmowie tejże książki – na podstawie tej książki możesz zaprojektować własny kurs. Czytaj dalej Nowy cykl – #BeEffective – Statyczne metody fabryczne zamiast konstruktorów

Zmiany w interfejsach dzięki Javie 8

Java 8 przyniosła wiele nowości. Według wielu, po wersji 5 języka, była to najbardziej rewolucyjna aktualizacja. I choć od wprowadzenia tejże minęło już kilka ładnych lat – wciąż wiele osób gubi się próbując zapanować nad niektórymi zmianami. Dziś na tapet wezmę zmiany w interfejsach, które pojawiły się wraz z aktualizacją Javy z 2014 roku. Czytaj dalej Zmiany w interfejsach dzięki Javie 8

Klasy abstrakcyjne i interfejsy – czy są potrzebne?

Klasy abstrakcyjne i interfejsy to jedna z podstaw programowania obiektowego. Prawidłowe się nimi posługiwanie odróżnia dobrego programistę od zwykłego klepacza kodu. Jest to też powód, dla którego często pytania o tę dziedzinę padają na rozmowach kwalifikacyjnych. Co nam dają te konstrukcje?

Czytaj dalej Klasy abstrakcyjne i interfejsy – czy są potrzebne?