Python, dramatically accelerating the development of the model in the Model-View-Controller architecture.
Models written in Yoopf are considerably shorter than their equivalent written in Python. Also, Yoopf formulas can be stated in any order, reducing the risk of error. When the formula calculator is called, it updates all impacted objects by applying the formulas in the right order.
Yoopf can be compared to business rule engine (e.g. Versata); declarative, dataflow or reactive programming; spreadsheets (e.g. Quantrix); stored procedures and database triggers.
This formula can be fed to Yoopf to define the total amount of each Order object as the sum of the amount of its order lines:
Yoopf will then monitor these objects thanks to the introspection capability of Python. Based on input from the User via the View part of the application, the Controller part of the application will insert new order lines or modify the amount of a line. It then asks Yoopf to run the model : Yoopf will then calculate the total amount only for the Order objects that need recalculation (i.e. because one of their order line has been added or deleted, or the amount of a line has been changed) . So, after the model is run, Yoopf guarantees that the total amount of all orders will be correct. The controller can then access these objects to create the response to the user.
A model consists of several such formulas, of various types:
To probe further, see Why Yoopf ?
"In our opinion, this is a brilliant idea" - Johan Zwiekhorst, Data News