Application architecture
The module is data-centric, desktop application implemented by C#. It's use DataSet as internal data-cash storage model. It's largely used ADO.NET and his booster DevArt library. UI interface is implemented by using DevExpress WinForm control library. The architecture in general is built on the base of strong object oriented model in intention to comply with following goals:
- The independency from the data provider
- Independency of visual layer from the data layer
- Capacity to change/add on the move visual representation of the specific data entities
- Capacity to adjust visual representation of data at run-time by end-users
To meet these requires application's implementation are divided by the following groups of libraries:
- Libraries which work with data on abstract level
- Libraries which build data representation layer (UI) on the base of metadata
- Libraries which link data with their UI representation layer
- Libraries which implement abstract data level
How it's wok.
Meta-data definition
In DataSet are defined all meta-data that necessary to their visual representation, such as:
- Caption of tables, columns
- Default values for columns
- Mask for columns
- Filters for specified relations
Also for each data table are defined associated stored procedures which update and delete respective records and mapping of columns to their parameters.
Building a representation layer
Each data table by default is associated with list form where data could be selected and displayed, also here you could add or remove particular record. Each data record could be shown in own form, where it is possible to modify and update the record.
The list form is composed by two main components: search panel and grid. Search panel contains controls to define search conditions by which records are selected into the grid. Grid is used to display set of selected records.
The controls on the search panel and columns in the grid are built in run-time by the meta-data from a data table.
The form which displays particular record is built by the same way.
Binding representation and data layers.
Data is bound to UI controls by mean of the DataView (custom, not System) class which is a wrapper of BindingSource class. Besides of standard BindingSourcefunctionality it provides following features:
- Links memory-cached data with data base (Allow fill data from DB, update data in data base).
- Handles parent-child relations between binding sources.
- Supports transaction model when data is updated.
Note
|

No comments:
Post a Comment