Livebindings akcióban 1 - közösségi blogok - embarcadero közösség

Ez ad a fejlesztők gyakorlatilag korlátlan szabadságot kötőhelyek. Ez - egy alapvetően új mechanizmus, ami nem nehéz elvileg. Azt hiszem, a legtöbb Delphi programozó klasszikus nehézség nélkül be az eredeti meglehetősen összetett eleme ínszalagok, mint a „Connection-DataSet-adatforrás-DBAwareComponents”. Ezek a kapcsolatok az üzemidő, és tervezési idejű, és a hatékony irányított kötvények is igényel némi tapasztalatot.

Majdnem olyan dolgokat, és LiveBindings. Kipróbált és tesztelt minták és a műszaki ínszalag majd később egy új világot nyit a szabad linkeket. Kívánatos, természetesen, hogy a példák nem elvont és gyakorlati jelentősége. De először egy kis elvont elmélet.

Ez egy mechanizmus kötelező tárgyak / komponensek alapján kifejezéseket. Nincs semmi alapvetően összetett. Hogy van egy logikai kapcsolat az alkalmazás és az adatbázis? SQL alapú lekérdezések. Ez egyfajta „text” kifejezés „dolgozik off”, amelyek miatt az adatok kinyerése az adatbázisból, és átadják az alkalmazás tekintettel arra, hogy a szöveg követjük kifejezetten (statikus lekérdezés tervezési idejű, egy paraméterezett lekérdezés, dinamikusan „ragasztja” kifejezés a futásidejű.

Egy lehetséges anélkül, hogy az SQL nyelvet? Lehet mindannyian egykor TTable komponenst. Mindent szigorúan meghatározott, és a kliens adatfeldolgozó sorozata eljárás hívások. Lehet így működik? Igen. Miért SQL-alapú megközelítést elismert domináns? Mivel ez több rugalmas és sokoldalú (és miegymás, hogy generálja az „erősebb”). Senki most hiányzik TTable? Nos, kivéve, hogy teszünk egy tiszta desktop alkalmazás a helyi tárolás a fájlban.

alkalmazások, egyértelműen megkülönbözteti az egyes „modell” és a „felület” igényel egyetemessé kapcsolatokat. A minőség az architektúra készült nagyrészt mérni a „rugalmasság”, és ez a rugalmasság elérése rugalmas linkeket. A kommunikáció legalább lokalizálható egy meghatározott helyen a projekt, és ha beszélünk az alkatrész környezetben, akkor ezt meg kell tenni a komponens szinten.

Természetesen az évek során, hogy fejlesszék a szokás a gondolkodás hard link közvetlen összeállítása kapcsolatok nem teszik lehetővé azonnal érzékelni LiveBindings sokféleségét, mind az alkatrész / támogatással, valamint a szinten a rendelkezésre álló kombinációk ingatlan értékének. Úgyhogy megoldani a megértéséhez egy nagyon érdekes probléma prototípus alkalmazások elemekkel 3D-modellezés.

grafikusan alább látható.

Livebindings akcióban 1 - közösségi blogok - embarcadero közösség


  • Részeként egy objektum modellt, amelynek számos tulajdonságok
  • A felület ablak az űrlap
  • felületelemre tervezték, hogy az objektum (piros nyíl - Változás tulajdonságok)
  • felületelemre integrált vizualizációs objektum (zöld nyíl - Visualize)
  • Interface elem leképezésére / változtatni egy objektum tulajdonság

Nyilvánvaló, hogy a kommunikációs nyilakkal jelzett, erős hangsúly. Van egy hely a LiveBindings? Kétségtelenül.

  • Lehet több típusú összetett képalkotó (hely a vetítés, sematikus, stb)
  • Controls (hatása a tulajdonságait az objektum) függően változhat az elrendezés felületen / vevői követelményeket
  • Modell, mint objektumok gyűjteménye legyen könnyen leválasztható a felület kód (például felhasználásra tisztán számítási kernel célra)

végrehajtás

van megint egy teszt-meghajtó LiveBindings. Lesz ez a mechanizmus hatékonyan alkalmazható erre a célra? Mennyire nehéz? És, persze, szeretnék hallani számos gyakorlati ajánlásokat.

Bizonyos szempontból ez egy tesztvezetésre „intuitív” a LiveBindings, mert Én nem különösebben tanult elméleti alapja, támaszkodva véletlen hozzáértő alkotók és a felhasználók. Különösen érdekes volt számomra a lehetőséget objektumokat összekötő öröklik TComponent vagy TControl. Nagyjából elmondható, hogy durva ügyetlen ostoba szokás leszármazottai TObject. Távol tartani a meditáció, nézi tulajdonságok és opciók értékeit, hogy egy sor gyakorlati tanácsokat a projekt keretében.

Kezdetben van MySphere objektumot. TMySphere, amelynek semmi köze a TSphere alkatrész a 3D-megjelenítés terén. Azt feltételezzük, hogy TMySphere szükség modellezés / számításokat, és nem tudom, hogy bárki, és amikor megjeleníti.

Object Sphere1. TSphere hagyományos izzó 3D. Kár, hogy nem rendelkezik a tulajdonságokat LiveBindings, ami azonban nem akadályozta meg annak használatát építeni rugalmas kapcsolatok (például a rendszeres tárgyat kellett csavarni a BindScope-a).

EDX. TSzerkesztés - eleme a kettős célú, és ez azt mutatja, és hatással van az ingatlan a tárgy (a tárgy mozog a jobb, megváltoztatva a koordináta Position.X).

„Button” szerepet tölt be a kezdeményező kommunikáció „régi vágású”, ez vonatkozik a tárgy egy linken keresztül, azaz közvetlenül. Az áttekinthetőség kedvéért.

MySphere (modell) és Sphere1 (vizuális) társított egyirányú tengelykapcsoló, és mivel ezek a tárgyak „rossz Genetics”, a bevonása leányvállalata BindScope-2, és ezeket alkalmaztuk a vizuális világban LiveBindings.

EDX. TSzerkesztés - jobb, mert nem BindScope-, és nem vette meg minden kapcsolatot szerepelt a komponens neve. Kommunikáció kétirányú.

Számos gyakorlati tanácsokat

  • LiveBindings kapcsolat lehet „önbeteljesítő” vizuális design-time lehet tenni teljesen kódot, de már alkalmazták az integrált megközelítés, ahol a komponensek kerülnek a forma a tulajdonságokat a „töltött” design-time, és a többi volt, hogy befejezze a futási idő ( sőt, ez egy teljesen normális módon működik a Delphi);
  • Miután már az első kapcsolat, azonnal rendezni automatikusan hozzáteszi BindingsList; ha szüksége van egy másik (üres), majd kattintson a BindingsList, és nem a New-> BindExpression;
  • A két komponens kötődik könnyen, mint látható a számos példa demo; egyezőség jól a jobb egérgombbal a tervezés során, és válassza ki az Új LiveBindings pontokat. ;
  • Kapcsolatok további fejlődését az „Object Inspector”;
  • Ha azt szeretnénk társítani a „normális” leszármazottja TObject, akkor természetesen a tervezés során ezzel a problémával; a csatlakozó rész BindScope komponens, amely vizuálisan él a formában részt vesz a kialakulását kapcsolatok tervezési idejű, majd véglegesített már a run-time;
  • Sikerült-csatlakozás (irányított "bayndingi") kell explicit értesítés;
  • Kapcsolat lehet a típus „a forrás-ellenőrzés”, „a kontroll-forrás” és a „kétirányú”, ami elvileg magától értetődő (különösen, ha ránézünk a fenti képen);
  • BindingsList - közös lerakataként kapcsolatokat;
  • Néha jobb, hogy ne kattintson (felhívásra) master linkek BindingsList-a, és megtalálni a kapcsolatot a Szerkezet ablaktáblán, majd ezt már módosították a „Object Inspector”, így világos.

Livebindings akcióban 1 - közösségi blogok - embarcadero közösség