Zpo-12-wyk-Slajd5

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Nisza aspektowa

Nisza aspektowa


Wydaje się, że programowanie obiektowe jest skuteczną odpowiedzią na problem modularyzacji. Podkreślana w tym paradygmacie zasada odpowiedzialności nakazywała podział systemu na obiekty, natomiast mechanizmy dziedziczenia, polimorfizmu oraz składania klas pozwalały w różny sposób łączyć klasy we współpracujące grupy.

Okazuje się jednak, że istnieją takie modele rzeczywistości, które bardzo trudno podzielić na moduły. W większości przypadków dotyczy to sytuacji, w których przyjęte kryterium podziału (np. funkcjonalne) okazuje się być nie jedynym, ale jednym z wielu. Często przywoływanym przykładem jest problem zapisywania informacji o wydarzeniach w systemie (logowania). Wywołanie metody logującej pojawia się wówczas niemal w całym systemie, bez względu na przeznaczenie poszczególnych jego elementów. Próba modyfikacji kodu logującego wymaga skomplikowanych, pracochłonnych i narażonych na błędy operacji na wielu fragmentach kodu w systemie

Pojawia się zatem zapotrzebowanie na mechanizm, który umożliwi osiągnięcie pełnej modularyzacji systemu niezależnie od liczby kryteriów podziału.


<< Poprzedni slajd | Spis treści | Następny slajd >>