DevCezz

Programistyczny blog dla Ciebie

architektura

Wzorzec Transactional Outbox

Tworzone aplikacje często muszą informować swoich użytkowników o jakimś zdarzeniu poprzez SMS czy email. Powodem może być wystawienie faktury, potwierdzenie złożenia rezerwacji czy też nowa promocja. Co jednak w przypadku, gdy chcemy mieć pewność, że wiadomość nie dotrze do adresata…

Czy zewnętrzne biblioteki w domenie to zło?

Często na konferencjach słyszymy, że w myśl DDD projektowana domena musi być „czysta”, „nieskazitelna”, „nieskalana” żadnym zewnętrznym rozwiązaniem. Najlepiej jakby opierała się tylko na standardowych bibliotekach należących do danego języka. W ten sposób przecież stajemy się niezależni od nikogo. Możemy…

Przemyślenia na temat stosowania wzorca fasady

Wzorce projektowe są rozwiązaniem problemów, które napotykali programiści przez kilkadziesiąt lat istnienia branży IT. Warto się z nimi zapoznać, aby mieć wspólną podstawę do rozmów z kolegami po fachu. Pierwszym krokiem wtajemniczenia do ich poznania według modelu braci Dreyfus jest…

Przepisz swój kod na nowo! #11

Ostatnio sporo czasu poświęciłem kodowaniu aplikacji AnimalShelter. Udało mi się wykonać naprawdę sporo zadań, ale nie obeszło się bez problemów, którymi chciałbym się z Tobą podzielić w tym wpisie. Na pewno przedstawię nowy podział na moduły Mavena jakiego dokonałem, co…

Przepisz swój kod na nowo! #10

To już dziesiąty wpis dotyczący przepisania swojej starej aplikacji na nowe rozwiązanie! W związku z tym przyszła pora na małe podsumowanie dotychczasowych prac. Sprawdzimy co udało się już zrobić, co jeszcze zostało i czy planuję coś dorzucić ekstra. Przy okazji…

Przepisz swój kod na nowo! #9

Od ostatniego wpisu dotyczącego aplikacji AnimalShelter minęło ponad 2 miesiące. Spowodowane było to tym, że miałem trochę innych rzeczy na głowie. Jednak udało mi się z powrotem przysiąść do jej implementacji. Dorobiłem mechanizm wysyłki maili, jednak nie na tym chciałem…

Zapomniany package scope

W serii poświęconej zawiłościom języka Java przedstawiłem modyfikatory dostępu, z których możemy korzystać, gdy projektujemy np. metodę, klasę czy pole w Javie. Dzięki nim jesteśmy w stanie hermetyzować nasz kod czy wskazywać co jest publicznym API dla innych programistów. Jednak…

Szybkie tworzenie aplikacji z jHipster

Załóżmy, że szybko chcesz utworzyć pełnowartościową aplikację z backendem oraz frontendem. Ma w niej być dostępny mechanizm zarządzenia użytkownikami, czyli logowanie, zakładanie nowego konta, zmiana hasła itp. Fajnie jakby posiadała też internacjonalizację, metryki weryfikujące zużycie pamięci, listę dostępnych endpointów RESTowych,…

Przepisz swój kod na nowo! #8

Aplikacja Animal Shelter w końcu nabrała rozpędu! Udało mi się utworzyć kawałek kodu spełniającego wcześniej zdefiniowane założenia i wykorzystującego zadeklarowaną infrastrukturę. W tej chwili jest to tylko funkcjonalność akceptacji zwierząt do schroniska, jednak mam już zarys rozwiązania dla innych zadań….

W czym pomoże nam Value Object?

Value Object, jak sama nazwa wskazuje, jest obiektem przechowującym jakąś wartość. Ta koncepcja pomaga nam nadać znaczenie danej liczbie bądź literałowi czy też ich grupie. Zastanów się czym jest dla Ciebie cyfra 3. Jest to miesiąc marzec? Ilość produktów? A…