Zpo-12-wyk-Slajd8
Modularyzacja kodu
Program obiektowy, który rozwiązywałby taki problem, najprawdopodobniej wywoływałby w wielu miejscach metody służące do realizacji poszczególnych zagadnień systemowych. W efekcie przypominałby spaghetti-code, w którym pierwotna koncepcja modularyzacji byłaby całkowicie nieczytelna.
Programowanie aspektowe (ang. Aspect - Oriented Programming ) pozwala rozwiązać ten problem w sposób znacznie bardziej przejrzysty i elegancki. Do typowych mechanizmów obiektowych dodaje ono koncepcję aspektu, grupującego zagadnienia przecinające inne fragmenty kodu. Dzięki temu możliwe jest logiczne wydzielenie ich w postaci osobnych jednostek modularyzacji bez naruszania pierwotnego podziału, co pozwala zachować czytelność kodu systemu, jego hermetyczność etc. Klasy reprezentujące zagadnienia biznesowe nadal zawierają tylko to, za co odpowiadają.
Aspekty, stosowane obok klas, umożliwiają zatem lepszą, wielokryterialną strukturalizację systemu informatycznego niż użycie samych tylko klas.