Projektowanie obiektowe Wzorce projektowe. Wprowadzenie do wzorców projektowych

Podobne dokumenty
Wzorce projektowe ArrayList. Aplikacja i zdarzenia. Paweł Chodkiewicz

Wzorce projektowe i refaktoryzacja

Wprowadzenie do programowania aplikacji mobilnych

Analiza i projektowanie obiektowe 2016/2017. Wykład 11: Zaawansowane wzorce projektowe (1)

WZORCE PROJEKTOWE (I) (DESIGN PATTERNS)

Problemy projektowania obiektowego. Czy podobne problemy można rozwiązywac w podobny sposób?

Testowanie oprogramowania Wzorce projektowe

Technologia Programowania 2016/2017 Wykład 4

Projektowanie oprogramowania: wzorce architektoniczne i projektowe

Program szkolenia: Wzorce projektowe w C++

Program szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne

PRZEWODNIK PO PRZEDMIOCIE

UML [ Unified Modeling Language ]

Wzorce oprogramowania Gof (cd) zastosowane w modelu obiektowym

Projektowanie obiektowe Wzorce projektowe. Gang of Four Wzorce rozszerzeń

Projektowanie obiektowe Wzorce projektowe

Zaawansowane programowanie w C++ (PCP)

Programowanie obiektowe

Rok akademicki: 2014/2015 Kod: IEL s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Projektowanie obiektowe Wzorce projektowe. Gang of Four Wzorce odpowiedzialności

Programowanie w języku Java WYKŁAD

Technologie obiektowe Object-oriented technologies. Informatyka II stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

problem w określonym kontekście siły istotę jego rozwiązania

Projektowanie aplikacji JEE z użyciem wzorców projektowych i notacji UML

Program szkolenia: Wzorce projektowe i architektoniczne oraz efektywne techniki Object Oriented Design dla projektantów systemów

Pojęcie wzorca projektowego Sposób opisu wzorców projektowych Notacja UML podstawowe diagramy zapisu wzorców projektowych

E-ID1S-08-s5. Informatyka. I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Projektowanie obiektowe oprogramowania Wykład 5 wzorce strukturalne Wiktor Zychla 2016

E-1IZ3-06-s6. Inżynieria Programowania. Informatyka. I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Wzorce projektowe Michał Węgorek

Technologia Programowania 2016/2017 Wykład 5

Wzorce projektowe. dr inż. Marcin Pietroo

Wzorce projektowe [ wstęp ]

Wzorce projektowe Wykład 7 część 1

Analiza i projektowanie obiektowe 2016/2017. Wykład 1: Wprowadzenie oraz cykl życia oprogramowania i faza określenia wymagań

Podstawy modelowania programów Kod przedmiotu

KARTA PRZEDMIOTU. Warsztaty z Ruby on Rails. Ruby on Rails Workshop

Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2015

Technologia Programowania 2016/2017 Wykład 6

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

dr Ilona Bluemke inż. Anna Stepień Instytut Informatyki Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska

(wybrane) Wzorce projektowe. Programowanie Obiektowe Mateusz Cicheński

(wybrane) Wzorce projektowe. Programowanie Obiektowe Mateusz Cicheński

Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2017

E-I2S-2005-s1. Technologie obiektowe. Informatyka II stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

Wzorce projektowe. dr inż. Marcin Pietroo

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2011/2012

Analiza i projektowanie obiektowe w UML Kod przedmiotu

METODY PROGRAMOWANIA

Rok akademicki: 2012/2013 Kod: IET SW-s Punkty ECTS: 3. Kierunek: Elektronika i Telekomunikacja Specjalność: Systemy wbudowane

Program szkolenia: Zaawansowane programowanie w C++

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Inzynieria Oprogramowania 2... nazwa przedmiotu SYLABUS A. Informacje ogólne. Wydział Ekonomiczno-Informatyczny w Wilnie

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Program szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk

Programowanie Zespołowe

Programowanie obiektowe

Wstęp [2/2] Wbrew częstemu przekonaniu, nie są one gotowymi rozwiązaniami, to tylko półprodukty rozwiązania.

Zaawansowane programowanie w języku C++

Wzorce projektowe / Eric Freeman [et al.]. Gliwice, cop Spis treści

Inżynieria oprogramowania. Jan Magott

Wzorce projektowe cz. II. Wzorce projektowe cz. II 1/35

Java. Wzorce projektowe

Zapytanie ofertowe (RFP)

Wzorce projektowe i architektoniczne, architektura aplikacji dla projektantów

Programista do działu testów PDT/1401/T/TBG

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

KONCEPCJA WZORCÓW PROJEKTOWYCH W J ZYKU JAVA

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Technologia programowania

PRZEWODNIK PO PRZEDMIOCIE

GUI - projektowanie interfejsów

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

Inżynieria Wytwarzania Systemów Wbudowanych

PHP revisited - odświerzenie spojrzenia na programowanie w PHP

PRZEWODNIK PO PRZEDMIOCIE

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 2

Programowanie w języku Java WYKŁAD

Metodyki zwinne wytwarzania oprogramowania

Egzamin / zaliczenie na ocenę*

Wzorce projektowe cz. I. Wzorce projektowe cz. I 1/33

Visual Basic.NET. Wzorce projektowe

Programowanie zwinne

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Zaawansowane programowanie obiektowe - wykład 5

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

J2EE wzorce projektowe. Alicja Truszkowska

Rozdział 1. Przegląd języka UML Diagram klas...24 Diagram współpracy...36 Diagram stanów...45

SPRING FRAMEWORK. dr inż. Jakub Chłapioski

C#. Wzorce projektowe

Projektowanie obiektowe Wzorce projektowe. Gang of Four Strukturalne wzorce projektowe (Wzorce interfejsów)

PRZEWODNIK PO PRZEDMIOCIE

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Spring framework. Paweł Kędziora. Marek Lewandowski

Transkrypt:

Projektowanie obiektowe Wzorce projektowe Wprowadzenie do wzorców projektowych 1

Zagadnienia Katalog wzorców projektowych wg Gang of Four Zasady projektowania obiektowego S O L I D MVC - Model-Widok-Kontroler 2

Forma zaliczenia i konsultacje Przedmiot kończy się egzaminem test (c.a. 20 pytań) jednokrotnego i wielokrotnego wyboru (może pojawić się również pytanie opisowe) 3 terminy w sesji (+ ewentualnie zerówka) Strona www coach.kis.p.lodz.pl 3

Roadmap Wzorce projektowe Schematy opisu wzorców Cechy wzorców 4

Wzorce Każdy wzorzec opisuje pewien regularnie napotykany problem i łączy go z ogólnym opisem jego rozwiązania w sposób, który pozwala stosować to rozwiązanie miliony razy, ale za każdym razem nieco inaczej. Christopher Aleksander 5

Wzorce projektowe the beginning Model-View-Contoller (MVC) jako szkielet dla języka Smalltalk (T. Reenskauga początek lat 80-tych) w przypadku aplikacji Webowych nazywany Model-2 Gang of Four : Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku ( Design Patterns - Elements of Reusable Object-Oriented Software, Addison Wesley 1995) 6

Opis wzorca wg. Gang of Four (GoF) Nazwa używana w celu jednoznacznej identyfikacji, uwspólnienia języka, Problem opis problemu, który może być rozwiązany, lista warunków, które muszą być spełnione, aby stosowanie wzorca miało sens Rozwiązanie elementy składające się na projekt, ich związki, zobowiązania i współpraca, nie opisuje konkretnego projektu stanowi pewien szablon Konsekwencje zyski i straty, wady i zalety stosowania wzorca. 7

Zalety stosowania wzorców Wynikają z wielu praktycznych doświadczeń. Wzorce projektowe ustalają terminologię Ułatwia komunikację z innymi projektantami i programistami Narzuca określoną terminologię projektowania Upraszczają restrukturyzację istniejących systemów. Umożliwiają wielokrotne użycie sprawdzonych rozwiązań. Ale Wzorzec projektowy to półprodukt Muszą zostać obrobione i osadzone w całości projektu 8

Wzorce GoF Materiałów w Internecie jest sporo: http://www.vincehuston.org/dp/ http://hillside.net/patterns/patterns-catalog http://en.wikipedia.org/wiki/design_pattern_(computer_science) Pierwszym waszym zadaniem jest zapoznanie się z tymi wzorcami 9

Klasyfikacja wzorców wg. GoF Strukturalne Łączenie istniejących obiektów Adapter, Decorator, Facade, Composite, Bridge, Proxy, Flyweight. Behawioralne Umożliwienie elastycznej zmiany zachowania Interpreter, Iterator, Chain of responsibility, Mediator, Template method, Observer, Visitor, Memento, Command, State, Strategy. Kreacyjne Ułatwienie procesu tworzenia obiektów Builder, Abstract factory, Factory method, Prototype, Singleton. 10

Inne wzorce Wzorce zaczynają się i nie kończą się na GoF Wszystkie wzorce bazują na pewnych fundamentach obiektowości Dziedziczenie i polimorfizm Intefejsy Delagacja Istnieją również wzorce: Współbieżności, (np. Active Object, Thread Specific Storage, Thread Pool Pattern, Monitor Object, ) Architektoniczne (SOA, Client-Server, Three-tier, Pipeline, ), Specyficzne dla konkretnej dziedziny zastosowań (Active Record, Domain Model, Metadata mapping, ) 11

Software framework czyli wzorce zaimplementowane w projekcie powtórnego użycia Software framework - (rama projektowa, szkielet) - struktura wspomagająca tworzenie, rozwój i testowanie powstającej aplikacji.net Framework Spring Framework Ruby on Rails Eclipse Framework, NetBeans Framework Symfony Framework Struts Hibernate 12

Nasza literatura: Podstawowa: Oczywiście GoF jako odnośnik do podstawowych wzorców Steven John Metsker, C#. Wzorce projektowe, Helion, 2005 Martin Fowler, Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektowe, Helion, 2005. Dodatkowa: Rod Johnson, Juergen Hoeller, Alef Arendsen, Thomas Risberg, Colin Sampaleanu, Spring Framework. Profesjonalne tworzenie oprogramowania w Javie, Helion 2006 Joshua Kerievsky, Refaktoryzacja do wzorców projektowych, Helion 2005. Alan Shalloway, James R. Trott, Projektowanie zorientowane obiektowo. Wzorce projektowe. Wydanie II, Helion 2005 13