|
Sommaire
1. Exemple d'application classique
2. Rôle de chacune des couches
3. Avantages de cette architecture
4. Exemple d'architecture à 3 couches
4.1 Couche données
4.2 Couche métier
4.3 Couche présentation
1. Exemple d'application classique
Prenons en exemple une application très simple de gestion de comptes bancaires. Les données sont stockées dans une base composée de ces 3 tables :
 | |
| Table tPersonne : | | Titulaires des comptes |
| Table tCompte : | | Les comptes bancaires |
| Table tOperation : | | Operations sur les comptes | |
Pour voir la structure des tables en détail, Cliquez ici.
| Dans la feuille ci-contre, l'utilisateur demande l'affichage des comptes d'un client en entrant
l'identifiant du client, puis en cliquant sur le bouton "Afficher". |  |
Voici une façon simple de gérer l'affichage des comptes dans la datagrid, sur l'évènement Click() du bouton :
Private Sub btnSearch_Click()
Dim cnn As ADODB.Connection, rst As ADODB.Recordset, sql As String
If IsNumeric(Text1.Text) Then
sql = "SELECT tCompte.Co_Numero, tCompte.Co_DateCreation, tCompte.Co_Solde FROM tCompte" & _
" WHERE Co_IdProp=" & Text1.Text
Set rst = New ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db.mdb" & _
";Persist Security Info=False" rst.CursorLocation = adUseClient
rst.Open sql, cnn, adOpenForwardOnly, adLockReadOnly
Set rst.ActiveConnection = Nothing
Set DataGrid1.DataSource = rst cnn.Close
Else MsgBox "L'identifiant d'un client est un numérique.", vbCritical, "Erreur de saisie"
End If
End Sub |
Si le contenu du champ texte est numérique, une connexion est créée, les comptes sont récupérés dans un recordset qui devient la source de la datagrid.
L'affichage des comptes d'une personne peut être scindé en 3 parties distinctes :
- L'interface utilisateur
- La logique de l'application : vérification de l'identifiant saisi et lecture du compte dans la base
- Connexion à la base de données et ouverture d'un recordset
Le code source ci-dessus contient donc ces trois parties, alors qu'elles devraient être clairement distinctes.
Cela permettrait de réutiliser le code qui crée une connexion à la base de données, et celui qui retrouve les comptes bancaires d'une personne.
De façon générale, il vaut mieux programmer une application en séparant ces 3 fonctions : présentation, logique de l'application, et stockage des données.
[ Suivant ]
Ce document issu de http://www.developpez.com est soumis à la licence GNU FDL traduite en français ici.
Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement.
|