2. Programowanie Komponentowe
Wykład #E: Podsumowanie
Mikołaj Olszewski
Wydział Zastosowań Informatyki i Matematyki
Szkoły Głównej Gospodarstwa Wiejskiego
14.01.2014
Mikołaj Olszewski (WZIM SGGW)
Programowanie Komponentowe
Wykład #E
2 / 15
8. Przegląd
Komponent
Komponent
jest kawałkiem samowystarczalnego
i samowdrażającego się kodu komputerowego
z dobrze zdefiniowaną funkcjonalnością
i może być połączony z innymi komponentami poprzez interfejs
Mikołaj Olszewski (WZIM SGGW)
Programowanie Komponentowe
Wykład #E
6 / 15
14. Przegląd
Moduły a komponenty
moduły
komponenty
udostępnianie i
konsumowanie kodu
udostępnianie i
konsumowanie kodu
oddzielne jednostki
uruchomieniowe
oddzielne jednostki
uruchomieniowe
zarządzają zależnościami
wymagają zewnętrznego
zarządzania (niekoniecznie
przez moduły)
zorientowane na statyczny
kod
zorientowane na instancje
zależności czasu
kompilacji
zależności czasu
wykonania
mogą być spakowane w
moduły
Mikołaj Olszewski (WZIM SGGW)
Programowanie Komponentowe
Wykład #E
9 / 15
29. Wnioski
Zasady programowania komponentowego
1
2
3
4
5
6
7
Pracuj z interfejsami wszędzie, gdzie się tylko da i to jak najwyższego
poziomu, np. zamiast List<...> używaj IList<...>, lub lepiej
ICollection<...> lub jeszcze lepiej IEnumerable<...>
Oddzielaj interfejsy od implementacji (najlepiej nie tylko logicznie ale
również binarnie), np. pliki z interfejsami umieść w innym folderze niż
pliki z klasami implementującymi te interfejsy a jeszcze lepiej umieść
je w innym projekcie
Stosuj zasady SOLID.
Dbaj o wysoką zwartość klas i luźne powiązania między nimi.
Przedkładaj kompozycję i agregację nad dziedziczenie.
Korzystaj z wzorców projektowych.
Do łączenia komponentów ze sobą i do rozwiązywania zależności
używaj kontenerów IoC.
Funkcjonalności przekrojowe zaimplementuj w oddzielnych
komponentach i wprowadź je do programu korzystając z AOP.
Mikołaj Olszewski (WZIM SGGW)
Programowanie Komponentowe
Wykład #E
14 / 15