1 / 36

Urnik

Urnik. XE2: LiveBindings. LiveBindings ?. Ogrodje za prenos podatkov Lastnost ⇒ lastnost Lastnost ⇔ lastnost Seznam ⇔ lastnost Lastnost ⇔ objekt …. LiveBindings !. XE2, XE 3 ⇒ RAD Studio, Delphi , C++ Builder Windows 32/64, OS X, (iOS) ⇒ VCL, FireMonkey. Za. Proti.

hamlin
Télécharger la présentation

Urnik

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. Urnik

  2. XE2: LiveBindings

  3. LiveBindings? • Ogrodje za prenos podatkov • Lastnost ⇒ lastnost • Lastnost ⇔ lastnost • Seznam ⇔ lastnost • Lastnost ⇔ objekt • …

  4. LiveBindings! • XE2, XE3⇒ • RAD Studio, Delphi, C++ Builder • Windows 32/64, OS X, (iOS) ⇒ • VCL, FireMonkey

  5. Za Proti Težaven začetek Zapleteno iskanje napak Počasnost • Programiranje brez programiranja • Ločevanje vmesnika od poslovne logike • Emulacija podatkovno osveščenih gradnikov • Simulacija podatkov

  6. XE2: LiveBindings

  7. Dve vrsti živih povezav • Managed • Programsko obveščamo o spremembah • Unmanaged • Spremembe so zaznane samodejno

  8. Izrazi • Konstante (nizi, števila) • ' ali " • Operatorji • + - * / < > • Oklepaji • Lastnosti objektov v dosegu • Owner.<lastnost> • Funkcije objektov v dosegu • TBindingsList, Methods • Lastne funkcije

  9. Izrazi in žive povezave • Izraz (expression) <> živa povezava (LiveBinding) • Ena živa povezava, več izrazov • Izračunajo se zaporedno • Izrazi imajo lahko stranske učinke!

  10. Izhodni pretvorniki • Samodejno pretvarjanje izraza v tip izhodne lastnosti • TBindingsList, OutputConverters • Lastni pretvorniki

  11. Komponente • TBindingsList • Seznam živih povezav • Notify • TBindScope, TBindScopeDB • Dodajanje funkcij/lastnosti drugim gradnikom

  12. Povezovalni razredi • TBindExpressions • Managed • Ena živa povezava = en izraz • SourceExpression, ControlExpression • TBindExprItems • Managed • Ena živa povezava = več izrazov • FormatExpressions, ClearExpressions

  13. Povezovanje seznamov • Enosmeren prenos podatkov • Običajno v povezavi z TBindScopeDB • TBindList • Povezovanje seznamov • TListBox, TComboBox, TListView, TStringGrid • TBindGridList • TStringGrid

  14. TBindList • FormatControlExpressions • SourceExpression, ControlExpression • FormatExpressions • ClearControlExpressions

  15. TBindGridList • FormatControlExpressions • ColumnExpressions • FormatControlExpressions • ColumnExpressions • ClearControlExpressions • ClearControlExpressions

  16. Links • Unmanaged • IEditLinkObserver, IEditGridLinkObserver • Dvosmeren prenos podatkov • TBindScopeDB • TBindLink • TBindListLink • TBindGridLink • TBindPosition

  17. TBindLink • (TBindExprItems) • FormatExpressions • ParseExpressions • ClearExpressions

  18. TBindListLink • (TBindList) • FormatControlExpressions • FormatExpressions • ParseExpressions • ClearControlExpressions • PosSourceExpressions • PosControlExpressions

  19. TBindGridLink • (TBindGridList) • FormatControlExpressions • ColumnExpressions • FormatColumnExpressions • FormatCellExpressions • ParseCellExpressions • ClearControlExpressions • PosSourceExpressions • PosControlExpressions

  20. TBindPosition • IPositionObserver • TScrollBar (Position) • TBindScopeDB (RecNo) • TStringGrid (Row) • PosSourceExpressions • PosControlExpressions • PosClearExpressions

  21. Dokumentacija!

  22. Povezovanje z objekti • Uporabniški vmesnik | Poslovni model • TBindings.CreateManagedBinding • TBindings.CreateAssociationScope • Person.Bind

  23. FireMonkey • Data-aware • TBindDBEditLink, TBindDBTextLink, TBindDBCheckLink, TBindDBGridLink, TBindDBListLink, TBindDBImageLink, TBindDBMemoLink • BindNavigator • Link to DB Field, Link to DB DataSouce

  24. Vprašanja?

  25. XE3: Visual LiveBindings

  26. Visual LiveBindings

  27. Novosti • CustomFormat, CustomParse • BindNavigator v VCL • TBindSourceDB, TBindSourceDBX • TDataSource • TAdapterBindSource • TDataGeneratorAdapter • TPrototypeBindSource • TAdapterBindSource + TPrototypeBindSource

  28. MVVM

  29. MVVM? • Model – View – ViewModel • Ločitev uporabniškega vmesnika od poslovnega modela • Arhitekturni vzorci • MVC, MVP, MVVM

  30. MVVM • View • Uporabniški vmesnik • Forma, Frame, TPanel … • ViewModel • Abstrakcija uporabniškega vmesnika • Določa njegovo obnašanje • Model • Poslovna (domenska) logika

  31. Model-View-ViewModel Predstavitev Domena Dostop do podatkov Pogledi (Views) Modeli pogledov (ViewModels) Model VLB

  32. RAD MVVM Počasnejši razvoj Ločeni nivoji Aplikacija lahko raste Dva sloja lahko avtomatsko testiramo Olajšan razvoj aplikacij za različne operacijske sisteme/naprave • Hiter razvoj • Prepleteni nivoji • Hitro dosežemo kritično točko • Težavno avtomatsko testiranje

  33. Primer: To-Do • Malcolm Groves, CodeRage 7

  34. Vprašanja?

More Related