Obiekty to nie są proste “złączone dane i logika”. To obdarzone odpowiedzialnością elementy większej całości.

Mało jest w branży inżynierii oprogramowania książek, które praktycznie się nie starzeją. Jedną z nich, moim zdaniem, jest książka Object Design Roles, Responsibilities and Collaboration, autorzy: Rebecca Wirf-Brock i Alan McKean. Wydali ją pierwszy raz w 2002 roku. Autorzy w bardzo przystępny sposób pokazują zarówno teoretyczne jak i praktyczne aspekty analizy obiektowej (OOA, Object-oriented Analysis ) i projektowania obiektowego (OOD, Object-oriented design, łącznie często stosowany skrót OOAD).

Mimo, że od pierwszego wydania minęło już 17 lat, książka – a raczej opisane w niej metody – nie straciły na aktualności i skuteczności. Cztery lata temu nawiązywałem już do niej w artykule Jak identyfikować klasy? (polecam także artykuł i metodę: Class Responsibility Collaborator). Ogromną zaletą tej książki jest to, że diagramy UML, ilustrujące omawiane w książce przykłady, są poprawne i na wysokim poziomie abstrakcji, co powoduje, że mimo iż w 2015 specyfikacja UML uległa znacznym zmianom, diagramy w książce praktycznie nie straciły nic na aktualności.

Okładka polskiego wydania
Rebecca Wirf-Brock i Alan McKean, Projektowanie obiektowe, okładka polskiego wydania.

W pierwszej części autorzy opisują mechanizm jakim jest współdziałanie komponentów, zwracają uwagę na fakt, że oprogramowanie obiektowe to współpraca elementów (obiektów). Posługując się analogią, jaką są urządzenia mechaniczne i komponenty sprzętowe każdego komputera, bardzo przystępnie opisano paradygmat obiektowy.

Kolejny rozdział to opis tego czym jest rola i odpowiedzialność komponentu, i jak pojęcie to pomaga nam projektować architekturę oprogramowania.

W kolejnych rozdziałach, opisano i pokazano, na wielu przykładach, jak sobie radzić z podejmowaniem decyzji o architekturze i z jakich wzorców i zasad korzystać.

Jest to, ten wpis na blogu, nie tyle recenzja, co gorąca zachęta do włączenia tej książki do swojej biblioteki. Niestety polskie wydanie już tylko w antykwariatach, ale książka – oryginalne wydanie – jest nadal dostępna w sklepach internetowych.

Rebecca Wirfs-Brock, Alan McKean, Object Design Roles, Responsibilities, and Collaboration, Addison-Wesley 2003.

P.S. Dlaczego ta książką tyle lat czekała na moją recenzję? Bo od lat codziennie rano sobie mówiłem: jutro na pewno o niej napisze 🙂

Na koniec dość świeża prezentacja autorki:

Jarosław Żeliński

Jarosław Żeliński: Po ukończeniu WAT w 1989 roku pracownik naukowy katedry Transmisji Danych i Utajniania. Od roku 1991 roku, po rozpoczęciu pracy w roli analityka i projektanta systemów przetwarzania informacji, nieprzerwanie realizuje kolejne projekty dla urzędów, firm i organizacji. Od 1998 roku prowadzi także samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania systemów (modele jako przedmiot badań: ORCID), publikując je nieprzerwanie na tym blogu. Od 2005 roku, jako wykładowca akademicki wizytujący (nieetatowy), prowadzi wykłady i laboratoria (ontologie i modelowanie systemów informacyjnych, aktualnie w Wyższej Szkole Informatyki Stosowanej i Zarządzania pod auspicjami Polskiej Akademii Nauk w Warszawie.). Od 2020 roku na stałe mieszka w Szkocji (Zjednoczone Królestwo), nadal realizuje projekty dla firm i organizacji także w Polsce.

Dodaj komentarz

Ta strona używa Akismet do redukcji spamu. Dowiedz się, w jaki sposób przetwarzane są dane Twoich komentarzy.