Lab3 Sprawozdanie id 259581

background image

Inżynieria Oprogramowania

MVP

Wydział Mechaniczny Politechniki Krakowskiej

Instytut Informatyki Stosowanej

Rok Akademicki 2011/2012, Grupa 13K3

Rafał Polak 13k3
29-01-2011

Sprawozdanie z Laboratorium Komputerowego

Model View Presenter

1. Ogólne informacje

Wzorzec Projektowy

– to ogólne rozwiązanie często spotykanego problemu w

specyficznym przypadku. Wzorce powstają z doświadczenia ekspertów w danej
dziedzinie.

MVP

– jest to pochodna MVC (Model – View – Controler) wzorca oprogramowania.

Podobnie jak MVC wykorzystywany jest do tworzenia interfejsów użytkownika, aby
oddzielić warstwę aplikacji od warstwy komunikacji z użytkownikiem.

Model ten oddziela od siebie warstwy aplikacji tworząc ją przejrzystą i hierarchiczną
jednocześnie przyporządkowując warstwom odpowiednie zadania i polecenia
podczas pracy programu.

Warstwa Prezentacji odpowiada za funkcjonalności pomiędzy warstwą Modelem a
Widokiem. W modelu MVC odpowiada za to Kontroler. Widok odpowiedzialny jest za
obsługę zdarzeń interfejsu użytkownika UI, natomiast ostatnia warstwa odpowiada

background image

za opisanie atrybutów, podmiotów i ról wewnątrz aplikacji, dzięki czemu zwiększa się
inteligencja programu.

2. Cel MVP

MVP jest wzorcem projektowym zaprojektowanym w celu ułatwienia automatycznego

testowania urządzeń i oprogramowania na nich zainstalowanych.

Model definiuje dane które mają być wyświetlane lub w jakiś inny sposób mogą wpłynąć na

interfejs użytkownika.

Widok odpowiada głównie za wyświetlanie danych z powyższego Modelu oraz bada czas i trasy

powtórzeń.

Prezenter działa z połączenia tych dwóch klas i jednocześnie podbiera dane z repozytoriów dla

modelu oraz formaty do wyświetlenia w widoku.

Widok jest elementem pasywnym, który przekazuje wszystkie informacje do prezentera.

Prezenter gdy zostaje wywołany łączy się z Modelem i Widokiem pobierając od niego dane za
pomocą metod. Następnie dopiero aktualizuje on model. Różne wersje MVP umożliwiają swobodę w
odniesieniu do odwołań interakcji, zdarzeń i poleceń.

3. Cel Ćwiczenia

Na ćwiczeniach stworzyliśmy aplikację opartą o model MVP, aby zobaczyć działanie modelu w
praktyce. Niezbędne było utworzenie projektu składającego się z trzech wartsw Modelu,
Prezentera i Widoku.

Interfejs Modelu został zdefiniowany:

namespace

Model

{

public

interface

IModel

{

Element

getElement();

void

setElement(

Element

element);

}
}

background image

Dołączyliśmy także klasę zdefiniowaną w interfejsie Modelu tworzącą interfejs oraz klasę

ELEMENT zawierającą element będący testowymi danymi.

namespace

Model

{

public

class

Model

:

IModel

{

private

Element

element;


public

Element

getElement()

{

if

(element ==

null

)

element =

new

Element

();


return

element;

}

public

void

setElement(

Element

element)

{

this

.element = element;

}
}
}

namespace

Model

{

public

class

Element

{

public

string

Imie {

get

;

set

; }

public

string

Nazwisko {

get

;

set

; }

private

IList

<

string

> przedmioty;

public

IList

<

string

> Przedmioty {

get

{

return

this

.przedmioty; } }


internal

Element()

{
Imie =

"Rafał"

;

Nazwisko =

"Pola"

;

przedmioty =

new

List

<

string

>();

przedmioty.Add(

"Komunikacja Człowiek Komputer"

);

przedmioty.Add(

"Inzynieria Oprogramowania"

);

przedmioty.Add(

"Programowanie Obiektowe"

);

}


}
}

Warstwa Prezentacji łącząca dwie skrajne warstwy posiada zdefiniowany interfejs oraz klasę

odwołującą i komunikującą się z Modelem i Widokiem:

namespace

Prezenter

{

public

interface

IPrezenter

{

string

Imie {

get

;

set

; }

string

Nazwisko {

get

;

set

; }

IList

<

string

> Przedmioty {

get

; }


void

saveDate();

}

background image

}

namespace

Prezenter

{

public

class

Prezenter

:

IPrezenter

{
Model.

IModel

model;

Model.

Element

element;

View.

IView

view;


public

Prezenter(View.

IView

view)

{

this

.view = view;

model =

new

Model.

Model

();

element = model.getElement();
view.Imie = Imie;
view.Nazwisko = Nazwisko;
view.Przedmioty = Przedmioty;
}

public

string

Imie

{

get

{

return

element.Imie;

}

set

{
element.Imie =

value

;

}
}

public

string

Nazwisko

{

get

{

return

element.Nazwisko;

}

set

{
element.Nazwisko =

value

;

}
}

public

IList

<

string

> Przedmioty

{

get

{

return

element.Przedmioty; }

}

public

void

saveDate()

{

this

.element.Imie =

this

.view.Imie;

this

.element.Nazwisko =

this

.view.Nazwisko;

model.setElement(

this

.element);

}
}
}

Interfejs widoku został zdefiniowany w tej samej warstwie prezentacji.:

namespace

View

{

background image

public

interface

IView

{

string

Imie {

get

;

set

; }

string

Nazwisko {

get

;

set

; }

IList

<

string

> Przedmioty {

set

; }

}
}


4. Rezultat i Wniosek

W Prosty i szybki sposób można budować rozwinięte aplikację zachowując hierarchię w kodzie i
wykonywaniu się programu.

MVP pozwala implementować różne interfejsy użytkownika i w prosty sposób stosować wcześniej
napisany kod, niczym wymiana szuflady.

Forma przedstawienia danych została zaimplementowana poniżej widoku, dzięki czemu można w
łatwy i prosty sposób manipulować wyglądem programu i jego edycją. Natomiast Model posiada
niezbędne dane do przetworzenia przez program.


Wyszukiwarka

Podobne podstrony:
Chemia fizyczna sprawozdanie (6 1) id 112219
Lab10 Sprawozdanie id 259061 Nieznany
destylacja sprawozdanie id 1342 Nieznany
Cwiczenie 17 Wzor sprawozdania id 125192
BD 1st 2 4 lab3 tresc 1 1 id 81 Nieznany
Pompa Wirowa Sprawozdanie id 375107
Czech sprawozdanie 1 id 128290 Nieznany
badanie konsystensji zapraw bud sprawozdanie id 77227
Czech sprawozdanie 3 id 128292 Nieznany
I6A1N2, Lab3-sprawozdanie
WEiP-MichalTurzynski-lab3, Sprawozdanie 3 (WEiP-2009)
Cwiczenie 20 wzor sprawozdania id 125264
cwiczenie nr 9 sprawozdanie id 101106
L04 sprawozdanie1 id 257051 Nieznany
Cwiczenie 13 wzor sprawozdania id 125167
Lab06 Sprawozdanie id 258833 Nieznany
Cwiczenie 19 z 3 wzor sprawozdania id 125202
biochemia 1 sprawozdanie I id 86269 (2)
Lab02 Sprawozdanie id 258779 Nieznany

więcej podobnych podstron