Ludzie pragną czasami się rozstawać, żeby móc tęsknić, czekać i cieszyć się z powrotem.
Jeśli dobrze zaprojektujemy nasze aplikacje, to będą one solidne
dowiedziałeś
i nie będą przysparzać problemów za każdym razem, gdy użytkownik zacznie ich używać
o wrażliwych
i kiepskich
w niezwykły bądź niespodziewany sposób. Klasy oraz diagramy sekwencji mogą pomóc
aplikacjach.
w wykryciu usterek w projekcie aplikacji, jednak kluczowe znaczenie ma pisanie dobrze
zaprojektowanego i elastycznego kodu.
Klienci są zadowoleni, kiedy ich aplikacje można UAKTUALNIĆ.
Kiedy klient prosi o dodanie kilku nowych, prostych możliwości, to dla niego nie ma nic
Chcesz poznać
gorszego, niż usłyszeć, że wykonanie poprawek zajmie dwa tygodnie i będzie kosztowało
więcej informacji
To wszystko
o delegowaniu,
kilkadziesiąt tysięcy złotych. Dzięki zastosowaniu technik projektowania obiektowego, takich nazywamy
złożeniach
jak hermetyzacja, składanie oraz delegowanie, tworzone oprogramowanie będzie proste
właśnie analizą
i agregacji?
i projektowaniem
w utrzymaniu i łatwe do rozszerzania oraz aktualizacji.
Wszystkie te
obiektowym. Nie
zagadnienia
chodzi tu wcale
poruszymy
o tworzenie
Programiści są zadowoleni, kiedy napisanego kodu można
szczegółowo
głupkowatych
najpierw
WIELOKROTNIE UŻYWAĆ.
diagramów…
w rozdziale 5.,
a o pisanie
Czy kiedyś napisałeś jakiś program dla jednego klienta, a następnie zauważyłeś, że po
a następnie
odlotowych
w rozdziale 8.
wprowadzeniu bardzo nieznacznych modyfikacji będzie on spełniał wymagania innego
aplikacji, które
klienta? Wystarczy się nieco zastanowić nad tworzoną aplikacją, by uniknąć takich
uszczęśliwią
klientów,
problemów jak wzajemne uzależnienie klas i niepotrzebne powiązania pomiędzy nimi,
a Tobie zapewnią
i w efekcie uzyskać kod, który z powodzeniem będzie można wielokrotnie stosować. Takie
błogie poczucie
wielkości
pojęcia jak Zasada Otwarte-Zamknięte (ang. Open-Close Principle, w skrócie OCP) oraz i satysfakcji.
Zasada Pojedynczej Odpowiedzialności (ang. Single Responsibility Principle, w skrócie SRP) W rozdziale 8.
bardzo mogą w tym pomóc.
przekonasz się,
jak duże znaczenie
i wpływ na
Programiści są zadowoleni, kiedy pisane przez nich aplikacje są ELASTYCZNE.
powstający kod
Czasami tylko nieznaczne zmiany i refaktoryzacja pozwalają zamienić dobrą aplikację we
mają te zasady.
wspaniały framework, którego z powodzeniem będzie można używać do przeróżnych zadań.
To właśnie umiejętność wprowadzania takich zmian sprawi, że powoli przestaniesz być
zwyczajnym koderem i zaczniesz myśleć jak prawdziwy architekt oprogramowania (o tak…
ci goście zarabiają znacznie więcej). Tu chodzi o ogarnięcie całości zagadnienia.
W rozdziałach 6. i 7. zajmiemy się umiejętnością ogólnego
spojrzenia na rozwiązywany problem i tworzeniem dobrej
architektury dla pisanych aplikacji.
jesteś tutaj 79
Powtórzenie i prośba
No i fantastycznie! Dzięki
temu nowemu narzędziu do
wyszukiwania nie mogę się opędzić
od klientów. Ale swoją drogą…
mam parę pomysłów na kilka nowych
możliwości…
Widzisz? Już dostałeś propozycję
dalszej pracy. Jednak Rysiek
będzie musiał z tym poczekać
aż do rozdziału 5… Mamy kilka
ważniejszych problemów, którymi
musimy się zająć w następnym
rozdziale.
KlUCZOWe
ZAGADNieNiA
u Jeśli aplikacja jest wrażliwa, byle co może doprowadzić do
u Po zapewnieniu elastyczności projektu możesz zastosować
jej awarii.
wzorce projektowe, by dodatkowo go poprawić i ułatwić
wielokrotne stosowanie kodu aplikacji.
u Dzięki zastosowaniu zasad projektowania obiektowego,
takich jak hermetyzacja i delegowanie, można tworzyć
u Odszukaj te fragmenty aplikacji, które często ulegają
znacznie bardziej elastyczne aplikacje.
zmianom, i postaraj się oddzielić je od pozostałych
fragmentów, które się nie zmieniają.
u Hermetyzacja polega na dzieleniu aplikacji na logiczne
części.
u Tworzenie aplikacji, które działają, lecz są nieprawidłowo
zaprojektowane, zadowoli klienta, jednak Tobie przysporzy
u O delegowaniu mówimy wtedy, gdy jeden obiekt przekazuje
wykonanie pewnego zadania do innego obiektu.
wielu zmartwień, problemów i nieprzespanych nocy,
zmarnowanych na żmudne poprawianie błędów.
u Zawsze zaczynaj prace nad projektem od określenia,
czego chce klient.
u Analiza i projektowanie obiektowe udostępnia metody
pozwalające na tworzenie poprawnie zaprojektowanych
u Kiedy uda Ci się już poprawnie zaimplementować
aplikacji spełniających wymagania nie tylko klienta, lecz
podstawowe możliwości funkcjonalne aplikacji, możesz
także programisty.
zająć się zmodyfikowaniem jej struktury i zapewnieniem jej
elastyczności.
80
Rozdział 1.
Dobrze zaprojektowane aplikacje są super
rozwiązania
ćwiczeń
dlaczEgo mam na To
zWracać uWagĘ ?
Dowiedziałeś się już całkiem dużo na ?
temat pisania doskonałego oprogramowania, jednak
wciąż jeszcze musisz się wiele nauczyć. Weź głęboki oddech i zastanów się nad niektórymi
terminami i zasadami, które przedstawiliśmy w tym rozdziale. Połącz słowa umieszczone
w lewej kolumnie z wyjaśnieniami celów stosowania danych technik lub zasad, znajdującymi
się w kolumnie prawej.
Beze mnie Twój klient nigdy nie będzie zadowolony. Bez względu na to, jak wspaniale byłaby Elastyczność
zaprojektowana i napisana aplikacja, to właśnie ja sprawiam, że na twarzy klienta pojawia się uśmiech.
Ja wkraczam do akcji tam, gdzie chodzi o możliwości wielokrotnego wykorzystania tego samego kodu Hermetyzacja
i uzyskanie pewności, że nie trzeba będzie rozwiązywać problemów, które ktoś inny rozwiązał już wcześniej.
Programiści używają mnie po to, by oddzielić od siebie fragmenty kodu, które ulegają zmianom, Funkcjonalność
od tych, które pozostają takie same; dzięki temu łatwo można wprowadzać w kodzie modyfikacje
— bez obawy, że cała aplikacja przestanie działać.
Wzorce projektowe
Programiści używają mnie po to, by oprogramowanie można było rozwijać i zmieniać bez konieczności ciągłego pisania go od samego początku. To ja sprawiam, że aplikacje stają się solidne i odporne.
jesteś tutaj
81
Rozwiązania ćwiczeń
Zaostrz ołówek
Co byś zmienił w tym kodzie?
Rozwiązanie
W przedstawionym kodzie występuje poważny problem, Twoim zadaniem jest go odnaleźć.