Vue minimaliste de l'objet Application.
Bonjour,
Je cherche des information sur les composant d'un objet minimaliste de type application, qu ce soit textuelle ou graphique.
Pour le moment dans mon objet application j'ai :
- un fichier système (configuration de l'interface utilisateur)
- Un fichier Utilisateur (son nom, qui peut être absent)
- un drapeau "modified" (un booleéen significatif de l'état du fichier utilisateur)
Je cherche s'il y a d'autre incontournable à ce niveau pour une architecture 3-tiers (Présentation, Application, Gestion des données).
S'il vous plait. Merci.
Mon application : vue minimale.
Bonjour,
Mon application est un compositeur virtuel évolué pour instument MIDI.
Mon objet contient donc :
- une vue utilisateur : un nom de fichier du projet courant.
- Des actions sur une vue utilistauer : un menu d'option MIDI
- un accès à une classe : des objets MIDI répondant aux options utilisateur.
de manière abstraite, ça pourait ressembler à ceci :
Code:
1 2 3 4 5 6
|
-- flots --> nil
-- views --> user
-- menus --> file
-- class --> M.I.D.I.
-- |- Modify/Save/Quit |
Flots est la cible du programmme, n'est la qu'à titre complementaire pour signifier la fin du processus.
Avec Ada, ça ressenble à ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
--
package MIDI is
type Categories_Set is array (Positive range <>) of access String;
type Categories_Record is tagged
record
Categories : Categories_Set(1..Category_Max);
Last : Natural := 0;
end record;
type Categories_Access is access all Categories_Record'Class;
type Timer_Record is
record
Date : Time := Clock;
end record;
type Timers_Access is access all Timer_Record;
type Banks_Geometry_Type is
record
MSB_Max : Integer := 0;
LSB_Max : Integer := 0;
MSB_Min : Integer := 0;
LSB_Min : Integer := 0;
end record;
type MIDI_Options_record is tagged
record
Tempo : Float := 0.0;
Categories : Categories_Access;
In_Loop : Boolean := False;
Timers : Timers_Access;
Format : access String;
Bank_Geometry : Banks_Geometry_type;
end record;
type MIDI_Options is access MIDI_Options_Record;
end MIDI;
use MIDI;
type Plugin_Record is Abstract tagged null record;
type Plugin_Access is access all Plugin_Record'Class;
type Plugins_Set is array (Positive range <>) of Plugin_Access;
type Plugins_Access is access Plugins_Set(1..Plug_Max);
type Theories_Type is
record
-- null;
-- Flots
File : access String;
-- views
Options : MIDI_Options;
-- Menus
devices, Aux : Plugins_Access;
-- class
end record; |