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 [...]

Quo vadis GOTO

Sunday, April 29th, 2012

Na ostatnim DevCrowd Sebastian Pietrowski poruszył kwestię związaną z być i nie być instrukcji GOTO. Jak wiadomo w Javie zarezerwowano słowo goto, ale nie jest ono zaimplementowane. Kwestią sporną pozostaje czy ta instrukcja jest sensowna w języku obiektowym czy też nie. W zamian za nią pedrowaty wskazał, że nadal można używać instrukcji break i continue. [...]

USOS na Javie – przemyślenia po…

Wednesday, April 25th, 2012

Dziś na wydziale MiMUW odbyła się konferencja “USOS w Javie”. Wziąłem w niej udział z dwóch powodów. Po pierwsze jako, że zmieniam pracę to muszę jakoś opędzić urlop. Po drugie byłem ciekawy co spece od USOS chcą osiągnąć i jakie mają pomysły. Poglądowo W spotkaniu chodziło o przedstawienie osobom odpowiedzialnym za USOS pewnego stosu technologicznego, [...]

Ekstremalna obiektowość w praktyce – część 9 – Nie używaj getterów/setterów/własności

Friday, January 20th, 2012

Część 0 Część 1 Część 2 Część 3 Część 4 Część 5 Część 6 Część 7 Część 8 Piątek, a zatem słuchamy Listy w Trójce. Przed nami ostatnia z zasad Jeff’a Bay’a Nie używaj getterów/setterów/własności Niewątpliwie jest to najbardziej obiektowa z zasad. By zrozumieć o co w niej chodzi porównajmy takie oto dwie klasy Listing [...]

Ekstremalna obiektowość w praktyce – część 8 – opakowywanie kolekcji w klasy specyficzne dla kontekstu wykorzystania

Saturday, January 14th, 2012

Część 0 Część 1 Część 2 Część 3 Część 4 Część 5 Część 6 Część 7 Gladius Noctis, a na blogu ósma z zasad Jeff’a Bay’a Klasa której polem jest kolekcja nie powinna mieć żadnych innych pól (opakowywanie kolekcji w klasy specyficzne dla kontekstu wykorzystania) Nazwa trochę długa, ale nie ważne. Powróćmy na chwilę do [...]

Ekstremalna obiektowość w praktyce – część 7 – Nie używaj klas o więcej niż dwóch polach

Monday, December 19th, 2011

Część 0 Część 1 Część 2 Część 3 Część 4 Część 5 Część 6 Z głośników benefis Marka Niedźwieckiego. Na blogu siódma zasada Jeff’a Bay’a: Nie używaj klas o więcej niż dwóch polach Na początek kilka wyjątków, ponieważ ta zasada jest dość ciekawa. Otóż do liczby pól w klasie nie zaliczamy serialVersionUID oraz cache dla [...]

Ekstremalna obiektowość w praktyce – część 6 – Pilnuj wszystkie encje by były małe

Monday, December 5th, 2011

Część 0 Część 1 Część 2 Część 3 Część 4 Część 5 Therion – Secret of the Runes i szósta z zasad Jeff’a Bay’a Pilnuj wszystkie encje by były małe Na początek mały, obrazkowy przykład dlaczego warto pisać zwięzły kod. Oto jeden prosty program. W zasadzie jego połowa. Całość ma około 1000 linii. Tu wersja [...]

Ekstremalna obiektowość w praktyce – część 5 – Nie skracaj nazw

Thursday, November 24th, 2011

Część 0 Część 1 Część 2 Część 3 Część 4 Dziś smutna, 20 rocznica śmierci Freddego Mercurego. Z tej okazji z głośników Queen, a na tapecie piąta z zasad Jeff’a Bay’a Nie skracaj nazw Każdy kto choć trochę interesował się zagadnieniem jakości kodu wie, że najlepszy kod to kod samo-dokumentujący się. Innymi słowy jeżeli czytamy [...]

Ekstremalna obiektowość w praktyce – część 4 – Używaj tylko jednej kropki na linię

Sunday, November 20th, 2011

Część 0 Część 1 Część 2 Część 3 Słuchając Manowar dzielnie zagłębiamy się w czwartą z zasad Jeff’a Bay’a. Używaj tylko jednej kropki na linię Jeżeli przejrzymy dowolny kod pisany “na szybko” będziemy wstanie znaleźć tego typu potworki jak ten tutaj: Listing 1. Typowy “łańcuszek” w kodzie package pl.koziolekweb.eowp4; public class App { public static [...]