Je suis un programmeur vb6 autodidacte qui utilise DAO. Voici un exemple d'une pièce typique de code que je pouvais désabonnement:Refactor à n-tier
Sub cmdMultiplier_Click() 'Button on form, user interface '
dim Rec1 as recordset
dim strSQL as string
strSQL = "select * from tblCustomers where ID = " & CurrentCustomerID 'inline SQL '
set rec1 = GlobalDataBase.openrecordset(strSQL) ' Data access '
if rec1.bof <> true or rec1.eof <> true then
if rec1.fields("Category").value = 1 then
PriceMultiplier = 0.9 ' Business Logic '
else
priceMultiplier = 1
end if
end if
End Sub
S'il vous plaît faire semblant que ce qui précède est l'intégralité du code source d'une application CRUD. Je sais que ce design est mauvais, tout est mélangé. Idéalement, il devrait avoir trois couches distinctes, l'interface utilisateur, la logique métier et l'accès aux données. Je sais pourquoi cela est souhaitable, mais je ne sais pas comment c'est fait et je pense que c'est pourquoi je ne comprends pas pourquoi une telle séparation est bonne. Je pense que je serais beaucoup plus loin sur la route si quelqu'un pouvait refactoriser l'exemple trivial ridicule ci-dessus en 3 niveaux.
il serait très difficile de refactoriser cela simplement parce que c'est ridiculement trivial. Avoir une application à trois niveaux introduirait beaucoup de complexité dans un exemple si simple qu'il n'illustrerait pas correctement qu'une architecture à trois niveaux est plus simple qu'un méli-mélo général de code. – workmad3
Je sais ce que tu veux dire mais je voulais voir comment c'est fait. Après y avoir réfléchi un peu plus, je pense qu'une séparation en niveaux est peut-être analogue à la normalisation d'une base de données? Sur un plan superficiel, il semble ajouter de la complexité sans aucune récompense – kjack
oui, il est analogue à normaliser une base de données. Par George je pense qu'il l'a eu (tm)! –