Programowanie komponentowe.pdf
(
236 KB
)
Pobierz
Programowanie komponentowe
06-03-2010
Wstęp
Programowanie komponentowe
•
Programowanie komponentowe (
PK) jest procesem
tworzenie aplikacji (systemu informatycznego) poprzez
„sklejanie” jej z gotowych, odpowiednio przygotowanych,
wymiennych komponentów programowych.
•
Budowanie aplikacji z komponentów jest często
porównywane do budowania (żargonowo klejenia) układu
(urządzenia) elektronicznego z gotowych, seryjnych
komponentów elektronicznych (scalaków, tranzystorów,
przełączników).
•
Zarówno w jednym jak i w drugim przypadku, komponenty
muszą być przystosowane do tego „klejenia” (wykonane
według określonych standardów).
Wykład 1
Komponent - przykład
Inny przykład - budowa komputera
•
Sprawny samochód zawiera
silnik
1
06-03-2010
Komponent
Komponent
Komponent jest
• podstawową jednostką oprogramowania
• z kontraktowo (deklaratywnie) opisanymi interfejsami, i
• podanymi wprost zależnościami.
•
Komponenty nie istnieją w odosobnieniu –
aby wykonywać swoje funkcje, muszą ze sobą
współpracować.
Komponent jest podstawowym elementem, z którego
budowane jest oprogramowanie, posiada opisane
deklaratywnie interfejsy, a wszystkie wymagane przez
niego zależności są podane wprost. Dzięki temu możliwe
jest przekazanie go do wdrożenia osobie, która nie jest
jego twórcą.
•
Często
do
opisu
komponentów
wykorzystywany jest język XML
PK odwołuje się do …
Programowanie komponentowe
wykorzystuje
•
Hermetyzacja
•
Abstrakcja
•
Powtórne użycie kodu
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.
2
06-03-2010
Komponenty i obiekty
Komponenty i obiekty
•
Komponent musi odpowiadać specyfikacjom
określonym dla danej technologii. Sposób
implementacji komponentu nie jest narzucany.
•
Ponieważ idee programowania komponentowego
i programowania obiektowego w dużym stopniu
pokrywają się, komponenty są zwykle
definiowane poprzez klasy.
•
Klasy definiujące komponenty muszą spełniać
wymagania określone w specyfikacji, np.
zapewnić serializację, mechanizmy łączenia i
komunikacji, samoinstalację itp.
•
W programowaniu obiektowym można
zamaskować błędy popełnione na etapie
projektowania obiektów, np. obniżając ich
spójność
•
Komponent wykorzystuje w pełni i
konsekwentnie cechy obiektowości
•
Dobrze zaprojektowany obiekt może być
komponentem
Komponent i obiekty
Który obiekt może być komponentem
•
deklaracja oferowanych interfejsów i żądanych
zależności
Podstawowym warunkiem jest możliwość użycia go przez inne
elementy programu (przede wszystkim inne komponenty),
przy czym wykorzystanie komponentu
nie wymaga
modyfikacji jego kodu źródłowego
. Aby możliwe było
przekazanie mu z zewnątrz wymaganych zależności, muszą
one być podane w pełni i jawnie.
Dzięki nim komponent może być traktowany jako
zamknięta całość, która oferuje usługi i żąda ich od
zewnętrznych komponentów, jednocześnie
ukrywając swoją strukturę wewnętrzną i nie
wnikając w budowę innych. To czyni z komponentu
jednostkę bardziej abstrakcyjną niż obiekt.
Z drugiej strony komponent podobnie specyfikuje funkcje
oferowane przez siebie, a specyfikacja ta jest wystarczającą
podstawą do jego wykorzystania. Integracja komponentu z
systemem powinna przebiegać bez nadmiernego nakładu
pracy, np.
wyłącznie poprzez jego konfigurację
.
3
06-03-2010
Własności komponentu
Zastępowalność
•
Komponent nie sprawuje kontroli nad sobą
•
Rola kontenera – obiekt zarządzający
komponentami – steruje ich cyklem życia,
zależnościami i procesem tworzenia
•
Podstawowym celem praktycznym PK, jest
stworzenie warunków do łatwej zastępowalności
komponentów.
•
Systemy informatyczne podlegają ciągłym
zmianom. Jest to proces kosztowny i często
naruszający niezawodność oprogramowania.
•
Możliwość zastąpienia komponentu przez jego
nową wersję lub zupełnie inną implementację,
bez potrzeby rozmontowywania całego systemu,
jest niezwykle atrakcyjna z praktycznego punktu
widzenia.
Komponent - składowe
Cechy komponentu
•
Metody, właściwości, zdarzenia, …
•
Dziedziczenie, polimorfizm, …
•
Środowisko (platformy) pod który jest
dedykowany
•
Obsługa błędów standardowych i
niestandardowych, try-catch
•
Dokumentacja – sposób użycia, nazewnictwo
zmiennych, funkcji
•
Instalacja
•
Kod otwarty, zamknięty, licencja, cena
•
Komponent jest wyizolowaną (autonomiczną)
jednostką programową, która zgodnie z
przyjętymi standardami:
•
zawiera dane i metody realizujące operacje na
tych danych –niezależnie od otoczenia
(hermetyzacja)
•
udostępnia zestaw oferowanych usług poprzez
interfejs programowy.
•
zapewnia komunikację z innymi komponentami.
•
zapewnia „utrwalanie” i odtwarzanie stanu
wewnętrznego.
4
06-03-2010
Kryteria spełniane przez komponent:
Programowanie komponentowe
•
Może być użyty przez inne elementy programu
•
Jego użycie nie wymaga interwencji programisty
•
Posiada pełną specyfikację zależności
•
Specyfikuje oferowaną przez siebie
funkcjonalność
•
Może być użyty wyłącznie na podstawie tej
specyfikacji
•
Można go złożyć z innymi komponentami
•
Integruje się z systemem w sposób szybki i
bezproblemowy
•
Coraz większe znaczenie w zakresie budowania
nowoczesnego oprogramowania
•
Strukturalizacja procesów budowy
oprogramowania
•
Redukcja kosztów, skrócenie czasu wytwarzania
•
Wynikiem ewolucji podejścia obiektowego do
projektowania i implementacji aplikacji w
wyposażeniu obiektów zapewniające
predefiniowane usługi
Jakie to usługi?
Zaleta komponentów
•
Zdalna komunikacja, Internet, FTP, Mail,
WWW, Sockety
•
Transakcyjność, bezpieczeństwo, trwałość
danych, szyfrowanie, IO
•
Obsługa baz danych
•
Interfejs użytkownika
•
Prezentacja danych, raporty, wykresy
REDUKCJA ZŁOŻONOŚCI BUDOWANEGO
OPROGRAMOWANIA
Potrzebne: INTERFEJSY
ELEMINACJA BŁĘDÓW, KORZYSTANIE Z
PRZETESTOWANEGO I SPRAWDZONEGO
ROZWIĄZANIA
5
Plik z chomika:
Ratchet
Inne pliki z tego folderu:
Programowanie komponentowe.pdf
(236 KB)
pk.pdf
(481 KB)
komponenty.ppt
(171 KB)
java.ppt
(1645 KB)
COM - Glowacki.ppt
(671 KB)
Inne foldery tego chomika:
Kompilatory Optymalizujące
Programowanie Sieciowe
Zaawansowane Programowanie Java
Zgłoś jeśli
naruszono regulamin