/Knockoff

Mirror of: Knockoff. This is an unofficial mirror of the Knockoff Bitbucket repository and is for convenience use only. It is synchronized at irregular intervals. For submitting patches or bug reports, go to https://bitbucket.org/sglienke/knockoff

Primary LanguagePascalApache License 2.0Apache-2.0

Knockoff

A simple prototype inspired by Knockout.js to show how MVVM in Delphi can work.

Observable

Core of the library is the Observable type which is an anonymous method type which is overloaded. So it combines being getter and setter in one type. Following code example shows how to get and set the value of an observable.

#!delphi

var
  o: Observable<Integer>;
  i: Integer;
begin
  o := Observable.Create(42);
  i := o(); // calls the function: T overload
  o(i + 1); // calls the procedure(const value: T) overload