Zagadka projektowa 2

Monday, May 7th, 2012

Kolejna zagadka najpierw jednak rozwiązanie poprzedniej zagadki. Który listener lepszy Oba są dobrym rozwiązaniem. Wybór powinien nastąpić w wyniku analizy polegającej na odpowiedzi na pytanie: Kto powinien decydować o tym, że dane zdarzenie zakończyło się sukcesem albo porażką? Jeżeli decyzję powinien podjąć klient to lepszym jest listener z listingu 1. Jeżeli to my decydujemy to [...]

Zagadka projektowa

Saturday, May 5th, 2012

Dziś będzie “lajcik”. Mam dla was zagadkę projektową. Załóżmy, że mamy zaprojektować klasę służącą do komunikacji z pewną usługą. Przy czym usługa ta odpowiada na zadane pytania w taki sposób, że odpowiedź może interesować wiele obiektów w ramach aplikacji. Przykładem może być tu proste wciśnięcie przycisku do którego możemy przypisać wiele listenerów. Generalnie zatem mówiąc [...]

Enumy dla średnio-zaawansowanych

Saturday, July 9th, 2011

Warszawski JUG ma przerwę wakacyjną, ale gorące trwają. Skrzynki mailowe zapełniają się, a serwery poczty zapychają. W ostatnim czasie pojawiło się kilka (pierwsza, druga, trzecia) dyskusji, w których przewinął się temat użycia enumów w różnych kontekstach. W tym wpisie postaram się ogarnąć część tematu. Przypomnienie podstaw Zakładam, że każdy wie co to jest enum. Jak [...]

Wprowadzenie do wzorca MVP z Vaadin w tle – cz. 2 praktyka

Saturday, February 12th, 2011

W tej części zastosujemy MVP w praktyce. Na początek dla uproszczenia przebudujemy aplet z poprzedniej części, ale nie do MVP, a do czegoś co można nazwać dobrym kodem. “Małe MVP” Nie będę tu pokazywał MVP, ale będzie to coś co też oddaje sens tego wzorca. Standardowe komponenty Swing rozszerzę o implementację prostych interfejsów służących do [...]

Wprowadzenie do wzorca MVP z Vaadin w tle – cz. 1 teoria

Friday, February 11th, 2011

Wzorzec projektowy Model-View-Presenter (MVP) nie jest szeroko znany w społeczności Javowej. Inaczej… nie był szerzej znany do czasu aż Google nie postanowił go promować jako jednego z elementów GWT. Nie jest to nic nadzwyczajnego ponieważ duża część biznesowych aplikacji pisanych w Javie posiada interfejs webowy. Ten rodzaj GUI znacznie lepiej jest obsługiwany za pomocą wzorca [...]

Vaadin jako klient webservice III: wywołanie metody testowej

Monday, November 1st, 2010

Część I: Przygotowanie projektu Część II: Podstawowy UI Czas na wielkie łał, czyli wywołanie usługi… w końcu. Adapter interfejsu Ideone I szerzej dowolnej usługi kompilatora. Po co? Oczywiście po to by w razie czego uniezależnić się od dostawcy. Proste. Listing 1. CompilerApi package pl.koziolekweb.vaadin.codecompiler.api; import java.text.ParseException; import pl.koziolekweb.vaadin.codecompiler.data.TestResponse; public interface CompilerApi { TestResponse testFunction() throws [...]

Wujek Bob czyści kod – Clean Code – recenzja

Sunday, October 17th, 2010

Tytuł:Czysty Kod. Podręcznik dobrego programisty Autor:Robert C. Martin Rok:2010 ISBN:978-83-246-2188-0 Dawno nie było recenzji na blogu. Oj dawno. Chyba ostatnia była o AspectJ. Czas zatem na coś nowego. Książkę Roberta Martina znają chyba wszyscy, którzy programują w czymś więcej niż html (tfu!)i robią to dłużej niż kilka dni. Znają ze słyszenia, a niektórzy nawet ją [...]

Powarsztatowo

Saturday, March 27th, 2010

Jacek Laskowski dał pewien czas temu info, że odbędą sie warsztaty certyfikacyjne Suna. Główną atrakcją w ścieżce programistyczno-Javowej (była jeszcze ścieżka dla adminów solka i dla managerów i deweloperów JAS) miała być prezentacja Luc’a Duponcheel na temat JAX-WS i JAX-RS. W drugiej części mieliśmy zająć się stawianiem klastra Glasfishowego (to trzeba będzie pokazać na blogu). [...]

Even i Odd, czyli DRY in Action 2

Wednesday, January 27th, 2010

Przeglądam ostatnio jakiś stary moduł do softu, który piszę. Trafiłem na ciekawy przypadek złamania zasady DRY. W poprzednim wpisie opisałem czym jest ta zasada. Dla przypomnienia DRY, czyli skrót od angielskiego Don’t Repeat Yourself jest zasadą dobrego programowania, która mówi, żeby unikać powtórzeń kodu. Pozwala to na lepsze zarządzanie kodem (dokładnie zmianą kodu) i tym [...]

Od ogółu do szczegółu i z powrotem, czyli sprytna refaktoryzacja kodu

Thursday, January 7th, 2010

Opiszę wam tu pewien mechanizm refaktoryzacji kodu. Nazywam to “refaktoryazcja na trzy” ponieważ w trakcie procesu wykonujemy trzy kroki z czego dwa to refaktoryzacja właściwa. Metoda jest dobra jeżeli mamy na głowie termin, dokumentację i mało czasu. Jej zaletą jest bardzo szybkie prototypowanie i możliwość oddania gotowego kodu. Wadą jest to, że podlega jej tylko [...]