.NET i takie tam

UserControl, MVP i interfejs aplikacji mobilnych

Skomentuj »

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

Dodaj komentarz