Wzorce projektowe ArrayList. Aplikacja i zdarzenia. Paweł Chodkiewicz

Podobne dokumenty
Projektowanie obiektowe Wzorce projektowe. Wprowadzenie do wzorców projektowych

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

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

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

Wprowadzenie do programowania aplikacji mobilnych

Testowanie oprogramowania Wzorce projektowe

Wzorce projektowe. dr inż. Marcin Pietroo

WZORCE PROJEKTOWE (I) (DESIGN PATTERNS)

Projektowanie oprogramowania: wzorce architektoniczne i projektowe

Technologia Programowania 2016/2017 Wykład 4

Wzorce projektowe Michał Węgorek

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

UML [ Unified Modeling Language ]

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

Zaawansowane programowanie w C++ (PCP)

Wzorce oprogramowania Gof (cd) zastosowane w modelu obiektowym

Programowanie obiektowe

Programowanie w języku Java WYKŁAD

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

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

Program szkolenia: Wzorce projektowe w C++

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

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

Projektowanie obiektowe Wzorce projektowe

Technologia Programowania 2016/2017 Wykład 5

Wzorce projektowe i refaktoryzacja

Wzorce projektowe [ wstęp ]

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

Projektowanie obiektowe Wzorce projektowe. Gang of Four Wzorce rozszerzeń

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

Wzorce projektowe Wykład 7 część 1

PRZEWODNIK PO PRZEDMIOCIE

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

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

Wzorce projektowe. dr inż. Marcin Pietroo

Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka

Technologia Programowania 2016/2017 Wykład 6

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

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

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

Java. Wzorce projektowe

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

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

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

Komentarz. W poszukiwaniu zaginionego wzorca

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


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

Zaawansowane programowanie obiektowe - wykład 5

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

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

Programowanie i projektowanie obiektowe

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

Programowanie obiektowe

Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne

Wzorce projektowe. dr inż. Marcin Pietroo

Zapytanie ofertowe (RFP)

Wzorce projektowe. Wstęp

Singleton. Cel: Przykład: Zastosowanie: Zapewnienie, że klasa ma tylko jedną instancję i dostarczenie globalnego dostępu do niej.

METODY PROGRAMOWANIA

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

WZORCE PROJEKTOWE. Software engineering has accepted as its charter How to program if you cannot. E. Djikstra

1) Wzorzec projektowy Adapter. Zastosowanie:

WZORCE LOGIKI APLIKACJI Reużywalne składniki wymagań

WYKŁAD 12. Wzorce projektowe czynnociowe State Mediator

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

C#. Wzorce projektowe

Programowanie Zespołowe

Programowanie obiektowe

PHP 5 język obiektowy

Visual Basic. Wzorce projektowe


Wykład 1 Inżynieria Oprogramowania

Podstawy inżynierii oprogramowania

Wzorce projektowe kreacyjne

Programowanie obiektowe

Wzorce oprogramowania Gof. zastosowane w modelu obiektowym

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

GUI - projektowanie interfejsów

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

Wzorce projektowe cz. I

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Podstawy programowania III WYKŁAD 4

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

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Programowanie zorientowane obiektowo. Mateusz Kołecki

Perspektywa obiektowości

Analiza i projektowanie aplikacji Java

Programowanie obiektowe

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

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Visual Basic.NET. Wzorce projektowe

WYKŁAD 10. Wzorce projektowe czynnociowe Command Strategy

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Język Java część 2 (przykładowa aplikacja)

INŻYNIERIA OPROGRAMOWANIA

Transkrypt:

Wzorce projektowe ArrayList DataGridView Aplikacja i zdarzenia Paweł Chodkiewicz

Wzorzec uniwersalne rozwiązanie często powtarzających się problemów. Wzorzec opisuje problem, który powtarza się wielokrotnie w danym środowisku, oraz podaje istotę jego rozwiązania w taki sposób, aby można było je zastosować miliony razy bez potrzeby powtarzania tej samej pracy Christopher Alexander A pattern language, 1977

Częste pytanie: Czy istnieje rozwiązanie problemu zapisane na tyle ogólnie aby można było je zastosować do konkretnego przypadku?

Termin wzorca projektowego do inżynierii oprogramowania został wprowadzony przez Kenta Becka oraz Warda Cunninghama w 1987 roku. Został spopularyzowany w 1995 przez tzw. Bandę Czterech (Erich Gamma, Richard Helm, Ralph Johnson oraz John Vlissides) dzięki książce Inżynieria oprogramowania: Wzorce projektowe

Elementy wzorca : - nazwy wzorca - nazwy wzorca - problemu - rozwiązania - konsekwencji

Dokumentacja: Nazwa wzorca: opisowa oraz unikalna nazwa, Przeznaczenie: opis celu, Inne nazwy: jeżeli istnieją inne, dobrze znane nazwy wzorca, Motywacja: scenariusz zawierający problem powiązany z kontekstem Stosowalność: sytuacje, w których wzorzec może być użyteczny. Struktura: graficzna reprezentacja wzorca

Uczestnicy: lista klas i obiektów stosowanych w tym wzorcu, Współpraca: opis wzajemnej interakcji klas i obiektów, Konsekwencje: wykaz wyników, efektów ubocznych, Implementacja: wskazówki dotyczące implementacji wzorca, Przykładowy kod: przykład zastosowania wzorca z wykorzystaniem jednego z języków programowania. Przykłady zastosowania: znane przykłady, Pokrewne wzorce: odniesienie wzorca do innych wzorców,

Podstawowy podział wzorców na cztery kategorie: Kreacyjne opisują, w jaki sposób obiekty są tworzone, Behawioralne opisują zachowanie obiektów, Strukturalne opisują sposób, w jaki obiekty są zbudowane, Architektoniczne opisują bardziej abstrakcyjne wzorce.

Drugi model dzieli wzorce na kategorie według ich zakresów: klasowe opisujące statyczne związki pomiędzy klasami; obiektowe opisujące dynamiczne związki pomiędzy obiektami.

Katalog wzorców projektowych Gang of Four (Gamma,Johnson, Helm, Vlissides) obejmuje 23 wzorce: Kreacyjne: - Abstract Factory, - Builder, - Factory Method, - Prototype, - Singleton

Strukturalne: - Adapter, - Bridge, - Composite, - Decorator, - Composite, - Facade, - Proxy, - Flyweight

Behawioralne: - Chain of Responsibility, - Command, - Interpreter, - Mediator, - Iterator, - Memento, - Observer, - State, - Strategy, - Template Method, - Visitor

Builder -celem jest rozdzielenie sposobu tworzenia obiektów od ich reprezentacji. Innymi słowy proces tworzenia obiektu podzielony jest na kilka mniejszych etapów a każdy z tych etapów może być implementowany na wiele sposobów. Stosowany jest do konstrukcji obiektów złożonych, których konfiguracja jest procesem wieloetapowym.

Klasa ArrayList Pozwala na przechowanie dowolnych obiektów w liście. Możemy w łatwy sposób nimi operować. Nie musimy deklarować jej rozmiarów rozmiar zmienia się dynamicznie po Nie musimy deklarować jej rozmiarów rozmiar zmienia się dynamicznie po dodaniu lub usunięciu obiektu.

Add : dodanie elementu ArrayList Insert : dodanie elementu na konkretne miejsce w ArrayList Remove : usunięcie elementu z ArrayList RemoveAt: usunięcie elementu z konkretnej pozycji

Deklaracja

Dodanie elementu

Dodanie elementu w konkretne miejsce

Usunięcie elementu Usunie element o indeksie pobranym z pola tekstowego txtindeks

Wyczyszczenie listy Kasuje wszystkie elementy listy

Wyczyszczenie listy Kasuje wszystkie elementy listy

Odwrócenie kolejności w liście listastudentow.reverse() Usunięcie zakresu danych RemoveRange(start, ile)

Właściwości Capacity - zwraca jaką ilość elementów lista może zawierać Count zwraca bieżącą ilość elementów w liście

DataGridView Sposób prezentowania danych w GUI

DataGridView Sposób prezentowania danych w GUI

Dodanie kolumny

Dodanie wiersza

Zdarzenia wykorzystywane podczas programowania GUI np.: klinięcie myszą, przesunięcie myszy

Obiekty i zdarzenia