#BeEffective – Wzorzec Singleton

Singleton jest wzorcem projektowym, którego celem jest zapewnienie o istnieniu dokładnie jednej instancji danej klasy i udostępnieniu jej globalnie. W tym wpisie poruszę temat jego wykorzystania, zalet, wad oraz sposobów implementacji w oparciu o książkę Joshuy Blocha – Java – Efektywne programowanie. Czytaj dalej „#BeEffective – Wzorzec Singleton”

#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)”

Wyjątki w Javie

Każda aplikacja zawiera błędy. Tak samo w każdej aplikacji pewne ścieżki są nieprzewidziane. Zadaniem zespołu tworzącego aplikację jest znaleźć te miejsca w kodzie i odpowiednio je obsłużyć. W ten sposób można płynnie dojść do javowego mechanizmu wyjątków, który pomaga programistom w obsłużeniu błędnych ścieżek w algorytmach.

Czytaj dalej „Wyjątki w Javie”

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”

Czy na pewno tu nie będzie nulla?

java.lang.NullPointerException. Każdy go zna, każdy uwielbia, a debugując enterprisową aplikację (napisaną oczywiście przez kogoś innego, my byśmy takiego błędu nie popełnili!), natrafiwszy na taki zapis w logach można dostać białej gorączki. I niby każdy wie, że powinno się stosować null-checki w newralgicznych miejscach. Tak samo jak każdy wie, że jakby co to są Opszonale. A i tak w tym jednym jedynym miejscu ani null-checka ani typu Optional nie będzie, bo przecież tam i tak nie będzie nulla. Zapraszam do lektury. Czytaj dalej „Czy na pewno tu nie będzie nulla?”

Kurs Springa – część 3 – Wprowadzanie danych inicjalnych do aplikacji

Każda aplikacja webowa potrzebuje danych, żeby przynajmniej działać. Bez danych użytkownika nie będzie można przecież przetestować logowania, edycji, czy wyświetlania tychże. Kroki do uzyskania są dwa – sumienne wklepywanie danych po każdorazowym uruchomieniu aplikacji (rejestracja, dodawanie np. faktur, innych użytkowników, ról systemowych etc.), lub dodanie do aplikacji danych inicjalnych, danych testowych. Czytaj dalej „Kurs Springa – część 3 – Wprowadzanie danych inicjalnych do aplikacji”

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”

Kurs Springa – część 2 – adnotacje JPA i baza danych.

Wiemy już jak rozpocząć projekt za pomocą Spring Initializr, teraz zajmiemy się bazą danych i standardem JPA. JPA (Java Persistence API) to tak zwany standard ORM, czyli mapowania obiektowo – relacyjnego (object – relational mapping). Mapowanie to jest sposobem odwzorowania struktury obiektowego systemu na relacyjną bazę danych. Polega to na tym, że w relacyjnej bazie danych mamy tabele, które są ze sobą powiązane kluczami (połączenia takie nazywane są relacjami), natomiast w systemie obiektowym – są to obiekty ze swoimi polami.

Czytaj dalej „Kurs Springa – część 2 – adnotacje JPA i baza danych.”

Strona używa danych zapisanych na komputerze odwiedzającego. Kliknij przycisk AKCEPTUJ COOKIES, aby nie widzieć więcej tego komunikatu Polityka prywatności

Gniado IT wykorzystuje cookies do przechowywania informacji na TWOIM komputerze. Cookies wykorzystywane przez tę witrynę to standardowe cookies wykorzystywane przez silnik Wordpress. Możesz ustawić swoją przeglądarkę w ten sposób, aby blokowała wszelkie próby użycia cookies, jednakże może to skutkować nieprawidłowym działaniem witryny. Dane nie są wykorzystywane do profilowania reklamowego, czy pozyskania wrażliwych / poufnych informacji.

Zamknij