You are currently viewing Projektowanie obiektowe zorientowane na role, odpowiedzialności i współpracę klas

Projektowanie obiektowe zorientowane na role, odpowiedzialności i współpracę klas

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:

Jaroslaw Zelinski

I have 30 years of experience in the information systems market. I have been designing and supervising implementations for 20 years. I have been researching information and systems modelling for 15 years, and am also an academic teaching and research experience.