PIO W7 2 Wzorce projektowe

background image

Wykład

Wprowadzenie do wzorców

projektowych

dr inż. Włodzimierz Dąbrowski

Podstawy inżynierii

oprogramowania

background image

Plan wykładu

Co to jest wzorzec projektowy?

Po co stosować wzorce?

Do czego można stosować wzorce?

Przykłady prostych wzorców projektowych

background image

Paradygmat obiektowy

Czym jest obiekt??

Perspektywy

na poziomie koncepcji

zbiór odpowiedzialności

na poziomie specyfikacji

zbiór metod

na poziomie implementacji

kod + dane

background image
background image

O obiektach

Obiekt posiada wiedzę o swojej
przynależności

Obiekt znajduje się konkretnym
stanie

Obiekt posiada określoną
odpowiedzialność

background image

Zalecenia projektowe

Obiekt musi

posiadać określony rodzaj
odpowiedzialności

być odpowiedzialny za własne
działania

odpowiedzialność musi być jasno
określona

background image

Przypomnienie

Obiekt

Klasa, klasa abstrakcyjna

Interfejs

Hermetyzacja

Dziedziczenie

Polimorfizm

Szczególne metody

background image

Wzorzec projektowy

Co można odnaleźć w rozwiązaniu
dobrym, czego nie ma w złym?

Co można odnaleźć w rozwiązaniu
złym, czego nie ma w dobrym?

background image

Pierwsze wzorce

Za twórcę WP uważany jest
Christopher Alexander

Wzorce projektowe dotyczyły
rozwiązań architektonicznych

background image

Pojęcie WP

sposób rozwiązania problemu w

określonym kontekście

„WP opisuje problem, który się
stale powtarza, określa zasadniczą
część jego rozwiązania tak, aby
można było je zastosować wiele
razy za każdym razem w nieco inny
sposób …”

background image
background image

Elementy opisu wzorców

Nazwa

Intencja

Problem

Rozwiązanie

Uczestnicy

Konsekwencje

background image

Wzorzec fasady

„Dostrajanie jednolitego interfejsu
do zbioru interfejsów
podsystemu…”

background image

Fasada

Intencja: uproszczony sposób
korzystania z istniejącego systemu

Problem: Potrzeba wykorzystania
części możliwości istniejącego
systemu

Rozwiązanie: Nowy interfejs do
istniejącego systemu

background image

Fasada

Konsekwencje: Upraszcza
korzystanie z systemu

Implementacja:

nowa klasa o pożądanym interfejsie

wykorzystanie istniejących funkcji

systemu

background image
background image
background image

Adapter

„Dostosowanie interfejsu klasy do
interfejsu, którego oczekuje
użytkownik.
Umożliwia współpracę klas, która
bez jego zastosowania nie byłaby
możliwa ze względu na ich
niezgodne interfejsy…”

background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image

Adapter

Intencja: dopasowanie
istniejącego obiektu do
określonego interfejsu

Problem: obiekt zachowuje się tak
jak trzeba, ale ma nieodpowiedni
interfejs

background image

Adapter

Rozwiązanie: obudowanie obiektu
pożądanym interfejsem

Uczestnicy: Adapter, Adaptowany,
Cel, Użytkownik

Konsekwencje: dopasowanie
istniejących obiektów do
tworzonych struktur i uniknąć
ograniczeń

background image

Podsumowanie

background image

Problemy

• Porównać wzorzec fasady ze

wzorcem adaptera (jakie mają
wspólne cechy, a co je różni?)

W.Dąbrowski, Budowa i integracja systemów informacyjnych, Wykład 2, Slajd 32

marzec, 2004; PB

background image

Literatura

[1] Gamma E., Helm R., Johnson R., Vlissides J.,

Design Patterns: Elements od Reusable
Object-Oriented Software
, Addison-Wesley,
1995

[2] Shalloway A., Trott J.R., Projektowanie

zorientowane obiektowo. Wzorce projektowe,
Helion 2001; ISBN 83-7197-831-6


Wyszukiwarka

Podobne podstrony:
Inzynieria oprogramowania w ujeciu obiektowym UML wzorce projektowe i Java iowuje
Wzorce projektowe ściaga
Projektowanie zorientowane obiektowo Wzorce projektowe Wydanie II
J2EE Wzorce projektowe Wydanie 2
BYT Wzorce projektowe wyklady z 10 i 24 11 2006
Ajax Wzorce projektowe
J2EE Wzorce projektowe
Ajax Wzorce projektowe
IOpr, wykład 5, wzorce projekt(1)
C Wzorce projektowe
BYT 2004 Strukturalne wzorce projektowe
Architektura systemow zarzadzania przedsiebiorstwem Wzorce projektowe
IO 05 2 Wzorce projektowe

więcej podobnych podstron