.NET i takie tam

UserControl, MVP i interfejs aplikacji mobilnych

leave a comment »

Stworzenie dobrego interfejsu aplikacji mobilnej jest wyzwaniem, szczególnie jeśli chcemy wykorzystać całą dostępną przestrzeń ekranu i nie bazować, tylko na właściwościach Anchor i Dock. W zależności od złożoności okna możemy próbować – manualnie, w kodzie, zmieniać położenie kontrolek – jednak jest to podejście pracochłonne i utrudniające przyszłe modyfikacje.

Mimo wszystko żyjemy w dobie wizualnych narzędzi programistycznych i szybciej przyjdzie nam utworzenie odpowiedniego interfejsu użytkownika przy użyciu designer’a wbudowanego w Visual Studio niż ręczne kodowanie położenia poszczególnych elementów okna.
Dlatego też lepszym rozwiązaniem może być utworzenie dwóch różnych form dla tego samego ekranu i wyświetlanie ich w zależności od aktualnej orientacji. To rozwiązanie ma jednak dość poważną wadę – otóż, nie możemy go zastosować do głównego ekranu naszej aplikacji (gdyż jest ono powiązane z podstawowym wątkiem programu). Aby wyeliminować tą niedogodność możemy umieścić zawartość naszego okna w kontrolce UserControl i mając dwie takie kontroli dla jednego ekranu (orientacja horizontal/landscape) możemy je wyświetlać w zależności od potrzeby.

Kolejnym problemem z jakim, w powyższym przypadku, przyjdzie się nam borykać jest to, iż musimy umieścić taki sam kod w dwóch różnych miejscach. Ale i na to jest rada – zastosowanie wzorca Model – ViewPresenter (MVP). Przykład wykorzystania tego wzorca w tym konkretnym zastosowaniu można pobrać stąd.

MVP - UserControl example

O dobrym screencast‚cie traktującym o wzorcach Model – ViewPresenter i Model – ViewController pisałem tutaj.

Written by sakowicz

Sierpień 6, 2007 @ 11:02 am

Napisane w .NET CF, Design patterns

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d bloggers like this: