Zpo-13-wyk-Slajd5

Z Studia Informatyczne
Wersja z dnia 07:42, 21 sie 2006 autorstwa Bwalter (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Obiekty a komponenty

Obiekty a komponenty


Na czym polega zatem różnica między komponentem a obiektem? Dobrze zaprojektowany obiekt (lub ich grupa) w wielu przypadkach może być użyty jako komponent. Jednak stopień abstrakcji i hermetyzacji obiektu zależy w dużej mierze od projektanta. Błędy popełnione przy projektowaniu obiektów można do pewnego stopnia zamaskować, zwiększając liczbę powiązań między nimi, obniżając ich spójność etc. W przypadku komponentu jest to niemożliwe z uwagi na abstrakcyjne interfejsy, poprzez które komponenty się komunikują ze sobą.

Różnice dotyczą przede wszystkim wymuszonej (a nie jedynie postulowanej) hermetyzacji komponentów oraz nacisku na definiowanie abstrakcyjnych interfejsów, które określają sposób komunikacji. Szeroko stosowane w świecie obiektów mechanizmy dziedziczenia są wykorzystywane przez komponenty jedynie w niewielkim stopniu, przede wszystkim w odniesieniu do interfejsów.

Podsumowując: programowanie komponentowe nie posiada zupełnie nowych atrybutów w stosunku do programowania obiektowego, a jedynie konsekwentnie i w pełni wykorzystuje cechy obiektowości.


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