Primo Gabrijeli delphimarand si http www thedelphigeek com
Primož Gabrijelčič delphi@marand. si http: //www. thedelphigeek. com
Embarcadero Akademija Spring 4 D
Embarcadero Akademija Spring 4 D Urnik 09. 00 – 10. 30 – 11. 00 – 12. 30 komponente Spring 4 D: pametni kazalci, nullable tipi, vektorji, sinhronizacija, mocking, seznami … Odmor Dependency injection, Reactive programming
Spring 4 D Embarcadero Akademija Spring 4 D
Embarcadero Akademija Spring 4 D • Originalni avtor: Baoquan Zuo (Paul) • Dev. Jet Software, Documentation Insight, Code Insight, DSharper … • Glavni razvijalec in vzdrževalec: Stefan Glienke • spring 4 d. org / bitbucket. org/sglienke/spring 4 d • Apache License 2. 0 • poslovna raba Spring 4 D
Embarcadero Akademija Razvojne veje • master • develop • feature/1. 3 -sdict • rdeče-črno drevo, urejeni seznam, urejeni slovar • feature/1. 3 -rx • reactive extensions Spring 4 D
Embarcadero Akademija Namestitev • Download/checkout • Build. exe ali • Dodaj potke v library/search path Spring 4 D
Spring 4 D Embarcadero Akademija Razno …
Embarcadero Akademija Danes ni na sporedu • Spring. Design. Patterns • Spring. Logging • Spring. Cryptography • Spring. Interception • Spring. Persistence [Marshmallow] • Spring. Reflection [RTTI] • … Spring 4 D
Spring 4 D Embarcadero Akademija „Neobvezni“ tipi Spring. pas Nullable. dpr • Tip z dodatno vrednostjo „prazno” • INullable<T> • Nullable • TNullable. Helper enum Bool { True, False, File. Not. Found };
Embarcadero Akademija Izboljšani kazalci • „managed” kazalci, „weak” kazalci • IShared<T> • Weak<T> Spring 4 D Spring. pas Smart. Pointers. dpr
Embarcadero Akademija Zakasnjena inicializacija • Objekt, izdelan po potrebi • Lazy<T> Spring 4 D Spring. pas Lazy. pas
Embarcadero Akademija Izboljšana polja • Izboljšani TArray, TArray<T> • TArray • Združljiv z System. Generics. Collections. Tarray • Vector<V> • TArray<V> z dodatki Spring 4 D Spring. pas Vector. dpr
Embarcadero Akademija Samodejno kreiranje polj • Samodejni Create, Destroy, inicializacija • [Managed] • [Default] • TManaged. Object • TManaged. Interfaced. Object • [Auto. Init] => Spring. Collections Spring 4 D Spring. pas Managed. dpr
Embarcadero Akademija Sinhronizacija • Enostavne kritične sekcije • Paralelna (optimistična) inicializacija • Lock • TLazy. Initializer Spring 4 D Spring. pas Synchronization. dpr
Embarcadero Akademija „Multicast“ dogodki • Dogodki z več poslušalci • Event<T> • INotify. Event<T> Spring 4 D Spring. pas Multicast. Events. dpr
Embarcadero Akademija Stražarji • Zagotavljanje dogovorjenih stanj • Guard • if … then raise Spring 4 D Spring. pas Guard. dpr
Spring 4 D Embarcadero Akademija Lažne implementacije Spring. Mocking. pas Mocking. dpr • Implementacija vmesnikov brez programiranja • Mock<T>
Spring 4 D Embarcadero Akademija Zbirke
Embarcadero Akademija Spring. Collections • Generični razredi • Vmesniki • Močni enumeratorji • Manjša poraba prostora Spring 4 D
Spring 4 D Embarcadero Akademija Podatkovne strukture • Seznami • Običajni • Urejeni • Samo za branje • Slovarji • Eno- in dvosmerni • 1: M • (Urejeni) Spring. Collections. pas Collections. dpr • Množice • Običajne • (Urejene) • (Drevesa) • (1. 3, morda 1. 2. 2)
Embarcadero Akademija Spring 4 D
Embarcadero Akademija Razredne tovarne • TCollections • TEnumerable • TString. Comparer • [Auto. Init] Spring 4 D Spring. Collections. pas Collections. dpr
Embarcadero Akademija Razširitve • • • • TWhere. Enumerator TWhere. Index. Enumerator TConcat. Iterator TDistinct. By. Iterator TExcept. Iterator TIntersect. Iterator TUnion. Iterator TSelect. Iterator TJoin. Iterator TGroup. Join. Iterator TZip. Iterator … Spring 4 D Spring. Collections. Extensions. pas Collections. dpr
Embarcadero Akademija Dependency Injection Spring 4 D
Spring 4 D Embarcadero Akademija Dependency Injection Spring. Container. pas SamplesIntro. To. Dependency. Injection • Odpravljanje tesne povezanosti • Fleksibilna struktura • Olajšanje testiranja • Spring ni nujno potreben • Pomaga pa • Registracija & kreiranje objektov
Embarcadero Akademija Spring 4 D Literatura • Nick Hodges: Dependecy Injection in Delphi • https: //leanpub. com/dependencyinjectionindelphi
Spring 4 D Embarcadero Akademija Reactive Extensions
Embarcadero Akademija Spring 4 D Reactive. X • Tokovi podatkov/dogodkov + asinhrono programiranje • reactivex. io • rxmarbles. com • Zakaj? • Netflix v celoti sprogramiran na ta način
Embarcadero Akademija Spring RX • feature/1. 3 -rx • Zelo eksperimentalno, sintaksa se še spreminja Spring 4 D
Spring 4 D Embarcadero Akademija Vprašanja?
- Slides: 31