Konspekt referatu "Wzorce projektowe" (termin wygłaszania: 28.XI.05)
Autor: Sebastian Kaczanowski

1)  "reużycie" (ang. reusing), czyli elastyczność, jako jedna z ważniejszych cech aplikacji.

2) Najważniejsze zasady tworzenia elastycznych aplikacji.
	- kapsułkowanie
	- programowanie pod kątem interfejsów
	- składanie obiektów a dziedziczenie (z przykładem kodu, który okaże się być realizacją wzorca Dekorator)
	- zasada Demeter ("Nie rozmawiaj z nieznajomymi" - Obiekt powinien się odwoływać tylko do siebie, swoich atrybutów i argumentów swoich metod).

3) Skąd się biorą wzorce projektowe?
(Cały wywód poniżej jest, mam wrażenie, niedokładnym cytatem z jakiejś książki, której tytułu nie mogę sobie przypomnieć, może ktoś to wie, jeśli tak to proszę o pomoc)

--- slajd 1 ---
Na początek o tym skąd się nie biorą:
	- Nie są wymyślane na podstawie przedstawionych wyżej zasad przez niezależne zespoły ekspertów tworzących informatykę jutra
	- Z reguły nie można nawet powiedzieć, że są tworzone w takim sensie, w jakim tworzy się projekt, czy implementację czegoś.

--- slajd 2 ---
Więc skąd się biorą wzorce projektowe?
Klasyczna metoda pozyskiwania wzorca polega na tym, że przegląda się wiele systemów (łącznie z historią ich tworzenia, pielęgnacji i rozbudowy), w których napotkano problem, którego rozwiązanie chcielibyśmy zapisać w postaci wzorca. Sprawdza się, które z rozwiązań wymyślonych przez programistów okazało się najbardziej elastyczne i je zapisuje się jako wzorzec.

--- slajd 3 ---
Co z tego wynika?

Gdy próbujesz rozwiązać problem "zapisany we wzorcu", pamiętaj, że bardzo wielu ludzi przed Tobą próbowało go w różny sposób rozwiązać. Ogromnej większości z nich nie udało się tego zrobić lepiej niż to pokazuje wzorzec.
Na pytanie, kiedy stosować wzorzec projektowy, jeśli napotkamy problem, który da się rozwiązać za jego pomocą, należy odpowiedzieć: ZAWSZE (z bardzo dużym prawdopodobieństwem ;).

4) Co to jest wzorzec projektowy?
(Wzorzec projektowy, to sposób rozwiązania pewnej klasy problemów projektowych, pomyślany tak, żeby uzyskane za jego pomocą rozwiązanie było bardzo elastyczne.
Z reguły wzorce projektowe przedstawiają rozwiązania wielokrotnie sprawdzone w różnych projektach.
Opisanie elementów składających się na wzorzec: nazwa wzorca, problem, rozwiązanie, konsekwencje.)

5) Wzorce projektowe w smalltalkowym MVC.

6) Podział na wzorce: kreacyjne, strukturalne i czynnościowe.

7) Katalog wzorców.
Dokładne omówienie wzorców:
	- kompozyt
	- fabryka abstrakcyjna
	- strategia
	- metoda szablonowa

8) Literatura