POO VB.net conseil / aide
Bonjour Forum,
Je débute en programmation orienté objet (POO), j'aurai voulu votre aide sur des questions que je me pose:
J'ai une classe que j'utilise pour convertir une date, quand je loop sur ma liste de données, est ce que je dois faire un NEW à chaque fois ou pas?
ex:
Code:
1 2 3 4 5 6 7
| While Not MyReader.EndOfData
...
Dim dConvert = New DataConverter()
currentRow(0) = dConvert.convertDate(currentRow(0))
dConvert = Nothing
...
End While |
ou alors je peux déplacer le New DataConverter en dehors de mon While et utiliser donc plusieurs fois la méthode .convertDate?
comme ceci:
Code:
1 2 3 4 5 6 7
| Dim dConvert = New DataConverter()
While Not MyReader.EndOfData
...
currentRow(0) = dConvert.convertDate(currentRow(0))
...
End While
dConvert = Nothing |
Quelle est la façon de travailler que vous me conseillez?
Deuxième petite question, j'ai crée une classe SQL Helper, j'ai dans mon fichier .config un array avec mes différentes requêtes SQL à exécuter.
J'hésite entre travailler avec des Property ou avec une méthode Private Sub SetQuery
ex avec méthode SetQuery et variable privé:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Public Class SQLHelper
Private _SqlQuery as String
...
Public Sub SetQuery (ByVal SqlQuery As String)
Me._SqlQuery= SqlQuery
EndSub
...
End Class
'Code de mon Button_Click
...
Dim SQLHelper = New SQLHelper()
SQLHelper.SetQuery("select * from matable")
SQLHelper.ExecuteQuery()
...
SQLHelper = Nothing |
Ou alors c'est mieux de travailler ainsi: (avec Property)
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
Public Class SQLHelper
Property strQuery as String = vbEmpty
...
End Class
'Code de mon Button_Click
...
Dim SQLHelper = New SQLHelper() With {.strQuery = "select * from matable"}
SQLHelper.ExecuteQuery()
...
SQLHelper = Nothing |
A nouveau, si j'ai plusieurs requêtes SQL et que je boucle, vous me conseiller comment?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
'Code de mon Button_Click
...
Dim SQLHelper = New SQLHelper() With {.strQuery = "select * from matable"}
SQLHelper.ExecuteQuery()
SQLHelper.strQuery = "select * from matable2"
SQLHelper.ExecuteQuery()
SQLHelper.strQuery = "select * from matable3"
SQLHelper.ExecuteQuery()
...
SQLHelper = Nothing |
ou plutôt de la façon suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
Dim SQLHelper = New SQLHelper() With {.strQuery = "select * from matable"}
SQLHelper.ExecuteQuery()
SQLHelper = Nothing
Dim SQLHelper = New SQLHelper() With {.strQuery = "select * from matable2"}
SQLHelper.ExecuteQuery()
SQLHelper = Nothing
Dim SQLHelper = New SQLHelper() With {.strQuery = "select * from matable3"}
SQLHelper.ExecuteQuery()
SQLHelper = Nothing |
Merci d'avance pour votre aide précieuse.
Chris