Singleton et Connection base de donnee

alanort Messages postés 16 Date d'inscription samedi 10 avril 2010 Statut Membre Dernière intervention 22 avril 2010 - 8 avril 2010 à 20:22
alanort Messages postés 16 Date d'inscription samedi 10 avril 2010 Statut Membre Dernière intervention 22 avril 2010 - 8 avril 2010 à 21:29
bonjour ben voila j'ai un code très très moche et j'aimerai beaucoup l'ameliorer en evitant les redondances.

par exemple, j'ai ces meme lignes de codes qui me servent pour tester la connection a la base de donnée et de l'ouvrir qui apparaissent plusieurs fois dans toute mes forms.

Dim ocCommand As New OleDb.OleDbCommand
    Public ocConnexion As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=../BDPodoComplete.mdb;User Id=admin;Password=;")

        Try
            ocConnexion.Open()
            MsgBox("la connection a bien ete etablie.")
        Catch ex As OleDb.OleDbException
            MessageBox.Show(ex.Message)
        End Try


Pour eviter que ce code se repete des millions de fois, j'avais dans l'idée de faire une class Connection qui comporterai les attributs ocConnexion comme decrit ci dessus et une méthode GetConnection avec le try Catch et puis faire appelle a la methode quand j'en ai besoin dans mes form.

Est ce que c'est une bonne methode de programmation ou bien dois utiliser un pattern Singleton qu'on m'a recommandé?

Si c'est mieux d'utiliser un pattern Singleton, pourriez me dire quel est vraiment l'interet de l'utiliser dans ce cas ci et comment?

merci d'avance pour vos réponse.

2 réponses

cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
8 avril 2010 à 21:23
Bonjour,
Le moyen le plus simple pour éviter la redondance de code c'est de le factoriser dans une méthode.

tu peux te faire une classe utilitaire regroupant tes méthodes pour les opérations DB

et mettre ton code dans une méthode public shared
Le pattern singleton te permet d'avoir un objet unique, dans le cas d'une connexion à une base de données ce n'est pas très judicieux.

Cordialement,
Vincent.
0
alanort Messages postés 16 Date d'inscription samedi 10 avril 2010 Statut Membre Dernière intervention 22 avril 2010
8 avril 2010 à 21:29
ok merci

donc en resumé dans mon cas un pattern singleton ca sert a rien.
0
Rejoignez-nous