Implementation of type control


Document concerned

This document addresses the control of type on an element of a persistent object. I am writing this short document to clarify the necessary programming work.


06/12/2016: initial version


Invisible Media


Framework of the project

This project is a digital and algebraic calculation software. This project is a way to train very long and tedious equations and to factor them according to a common approach. Goal: solve equations, find all the solutions algebraically and get an equation based on parameters and fixed digital data.

All the features

The set of features is detailed in this document: All features (unbundled) .xlsx

Name of the feature covered here

Checking the type from its definition

Relative need

Binary serialization is the best solution. Unlike with XML serialization, the only necessary to a binary serialization attribute is to add the Serializable attribute before the class declaration. Lists several items are entirely managed with no additional adaptation; which is not the case in lists with XML Serialization. The data can be dynamic; no strong typing is required; the backup is made from the inner content of the object and the serialization occurs recursively on each field.

Relationship with other features


The data is recorded, read and changed over time via the data model


This is to deal with all the versions of the data model. However, a binary serialization means that all data are registered in the persistent file. Once this file has been saved on disk, to resume, just dé-sérialiser. Except that if the software is to a later version, all the non-existent data in the file triggers a null that it is difficult to take into account data fault. In this case, the software should revert to a previous version. When the system uses the earlier version, he also supervises all later versions.


Programming is to build a list of names available and readable execution to process each piece of data to the persistent object. If the data in the persistent object, it is important to know what are the data that have been recorded.
A static class can contain name/type couples who are identified throughout the model data of persistent objects.

Last edited Dec 11, 2016 at 6:14 PM by skercrow, version 1