BindAPI è una libreria compatta e flessibile che consente di collegare con minimo sforzo istanze di classi di ogni tipo.
Morandotti.it è lieta di comunicare il rilascio della prima versione pubblica di BindAPI per Delphi, una libreria per Embarcadero Delphi che permette di implementare con pochissime righe di codice pattern architetturali quali MVC, MVP, MVVM e simili. Il suo scopo primario è quello di fornire una libreria di uso facile e immediato per prototipi, demo, POC e piccole applicazioni. A lungo termine, si propone come alternativa leggera ai sistemi di binding attuali in tutte le applicazioni che non siano time-critical.
BindAPI (this link opens in a new window) by pmoitaly (this link opens in a new window)
A library for Delphi Rio to bind properties and fields among class instances with attributes and few lines of code.
BindAPI permette di decorare qualsiasi classe con attributi che collegano le sue proprietà e i suoi campi a quelli di altre classi. In questo lo sviluppo di prototipi e applicazioni demo non deve preoccuparsi di scegliere immediatamente un’architettura o i sistemi di binding da adottare, ma possono concentrarsi sull’implementazione della business logic con una miglior gestione dei tempi e delle risorse. Alcune delle sue caratteristiche sono:
L’uso di BindAPI si concentra nella decorazione delle classi interessate al binding e le linee di codice davvero necessarie sono solo quelle che provvedono alla loro registrazione:
uses
...,
plBindAPI.Attributes, plBindAPI.CoreBinder, plBindAPI.AutoBinder,
plBindAPI.ClassFactory;
type
{Bind an instance of this class to an instance of TTestController}
[ClassBind(True, 'TTestController')]
{The value of the property edtSame.Text is read from TTestController.TestObject.IntProp}
[BindFormFieldFrom('edtSame.Text', 'TestObject.IntProp')]
{The following bind is disabled (first parameter is False)}
[BindFormFieldFrom(False, 'edtTarget2.Text', 'LowerText')]
{Bind an instance of this class to an instance of TTestController and the value is converted by TTestController.DoubleOf}
[BindFormFieldTo(True, 'speValue.Value', 'DoubleValue', 'DoubleOf')]
{Bind the event btnTest.OnClick to the procedure TTestController.TestEventBind}
[EventBind(True, 'btnTest.OnClick', 'TestEventBind')]
TfrmBindApiSimpleDemo = class(TForm)
BindApi è stata rilasciata con licenza MIT e il suo codice, aggiornato alla versione 0.8, è liberamente scaricabile dal nostro spazio di Github. Per il momento è considerata una versione prototipale adatta ad applicazioni specifiche, soprattutto nello sviluppo di demo, prototipi e piccole applicazioni, ma nei prossimi mesi saranno gradualmente apportate migliorie quali il supporto per FreePascal Compiler, una documentazione più completa, nuovi test case e altre funzionalità. Una guida introduttiva in italiano è pubblicata in questo sito.
La seconda fase vedrà la possibilità di implementare un sistema basato sul pattern Observer in alternativa al sistema di polling implementato ora.
Gli articoli sulla filatelia tematica, vista da una prospettiva semantica e semiotica, sono elencati sotto…
Il paragone tra Gliwice e Grigoriopol è spontaneo; ma quanto è giustificato? Analizziamo i fatti…
Alcune considerazioni sulla comunicazione russa che ha preceduto il conflitto in Ucraina spingono al pessimismo.
Definire un'unità narrativa nella filatelia tematica può rendere lo sviluppo tematico più completo e coinvolgente,…
TplFmxClock è il nuovo componente per Delphi rilasciato come open source da morandotti.it. Si tratta…
Concludiamo la serie di articoli sulla filatelia tematica affrontando una delle sfide più urgenti: quella…