1 / 17

UIP Application Block

UIP Application Block. Bartosz Rybak. Agenda. Kilka słów o problematyce Co to jest APPLICATION BLOCK Czemu UIP jest dobry Jak dokładnie to działa Czy są minusy. Trudne zadania w aplikacjach. Rozdzielenie kodu nawigacji od widoku Dostępność tablicy stanu (STATE)

yoshi-walls
Download Presentation

UIP Application Block

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UIP Application Block Bartosz Rybak

  2. Agenda • Kilka słów o problematyce • Co to jest APPLICATION BLOCK • Czemu UIP jest dobry • Jak dokładnie to działa • Czy są minusy

  3. Trudne zadania w aplikacjach • Rozdzielenie kodu nawigacji od widoku • Dostępność tablicy stanu (STATE) • Przechowywanie chwilowego stanu • Elastyczność i ponowne użycie

  4. Building Blocks • Gotowe Rozwiązania • Komponenty • Klocki gotowe do ponownego użycia

  5. Microsoft Building Blocks • Aggregation Application Block for .NET • Asynchronous Invocation Application Block for .NET • Authorization and Profile Application Block • Caching Application Block for .NET • Configuration Management Application Block for .NET • Data Access Application Block for .NET • Exception Management Application Block for .NET • Logging Application Block • Smart Client Offline Application Block • Updater Application Block for .NET • User Interface Process Application Block for .NET

  6. Założenia UIP • Rozdzielenie Aplikacji na warstwy • Nawigacja oparta na TASKach • Ułatwione zarządzanie stanem • Możliwość przechowywania tzw „snapshots of state”

  7. Jak UIP dzieli na warstwy • Klasyczne MVC

  8. State Persistence Providers • IsolatedStoragePersistence • SecureIsolatedStoragePersistence • SqlServerPersistState • SecureSqlServerPersistState • SessionStatePersistence • MemoryStatePersistence

  9. Jakie korzyści daje UIP • Odzielenie nawigacji i logiki od interfejsu • Możliwość użycia tego samego Modelu dla różnych typów aplikacji • Usunięcie zarządzania stanem z interfejsu • Snapshots

  10. Jak to wszystko działa • View • Controller • Pliki konfiguracyjne

  11. <navigationGraph iViewManager="WinFormViewManager" name="Shopping" state="State" statePersist="SqlServerPersistState" startView="cart"> <node view="cart"> <navigateTo navigateValue="resume"view="browsecatalog" /> <navigateTo navigateValue="checkout" view="checkout" /> <navigateTo navigateValue="fail" view="error" /> </node> <node view="browsecatalog"> <navigateTo navigateValue="addItem" view="cart"/> <navigateTo navigateValue="fail" view="error" /> </node> … </navigationGraph> Navigation Graphs

  12. Nawigacja • Startowanie Taska (zależnie od navigatora) • StartNavigationTask • StartOpenNavigationTask • StartUserControlsTask • Navigowanie • State.NavigateValue = „back”; • Navigate();

  13. Przesyłanie parametrów • TaskArgumentsHolder • EnterTask()

  14. Minusy niestety są • Uzależnienie od dostawcy Bloku • Konieczność stosowania się do założeń Bloku lub czasochłonna przebudowa (nadbudowa) • Pliki konfiguracyjne!!!!

  15. Podsumowanie • Korzyści bardzo zależą od umiejętności wykorzystania. • Istnieje ryzyko uzależnienia się • Możliwe jest przyspieszenie procesu produkcyjnego • Możliwe też jest jego drastyczne spowolnienie

  16. Podsumowanie c.d. • Pliki konfiguracyjne nie są częścią kodu • Wspomaga podział oprogramowania na warstwy • Bardzo zwiększa elastyczność i reużywalność kodu.

  17. DZIĘKUJĘ

More Related