RSS

Articles

Améliorer vos développements orientés objets .NET grâce à la propriété Shared

Articles - Programmation


En effet, il est «simple» si l'on s'en tient à la base, de programmer en orienté objet sous .NET. Mais dans les faits, si on a la ferme intention de devenir meilleur dans ce type de programmation il faudra voir un peu plus loin que la base. Il existe plusieurs méthodes et façons de faire afin d'amener notre code à un autre niveau. C'est une de ces techniques que nous allons voir aujourd'hui.

Sous .NET, vous avez peut-être déjà remarqué la propriété «Shared»! Mais vous ne savez peut-être pas à quoi elle sert! Alors après la lecture de cet article, vous serez en mesure d'être plus efficace et de générer un code plus performant et moins gourmand en mémoire.

La différence en une classe et une instantiation de classe

Une façon simple de comprendre la différence en la classe et l'instantiation de la classe est de considérer la distinction entre le type Integer et une variable de type Integer.
  • Vous ne pouvez assigner une valeur à un type :
Integer = 5        ' Erreur
  • Par contre, vous pouvez assigner une valeur à un objet de ce type :
Dim monInteger as Integer
monInteger = 5    ' Ok

Si on reprend le même principe du côté orienté objet, il est impossible d'utiliser le membre d'une classe sans instanciation :

Maclasse.maPropriété = 5     ' Erreur

Afin d'être en mesure d'effectuer cette opération, il faut créer une instance de notre objet :

Dim monObjet as New Objet
monObjet.maPropriété = 5    ' Ok

La propriété Shared

Mais où voulons nous en venir ? Les principes énumérés ci-haut sont en effet très simple et doivent être normalement connu de tous programmeurs. Où est le problème alors ? Afin d'illustrer le problème, voyons l'exemple suivant :
J'ai un objet Employé ayant plusieurs méthodes. Cette objet contient une méthode nommé GetEmployeByID(X as Integer) qui retourne les informations de l'employé ayant l'identifiant X. Jusque là rien de bien complexe. La pluspart des programmeurs novices feront comme ceci. Ils généreront 2 objets! Un premier vide qui permetteras d'instancier le nouveau comme ceci :

Dim monObjet1 as New Employe
Dim monObjet2 as New Employe
monObjet1 = monObjet2.GetEmployeById(X)

Nous voilà ici avec 2 objets en mémoire qui dans la réalité devient une perte de performance, de lisibilités ... Par contre, d'autre seront un peu plus astucieux et contourneront ce problème en générant un objet Employe vide. Ce dernier appelera la méthode GetEmployeById(X) qui ce chargera d'attribué les valeurs à chaque propriété comme ceci :

Dim monObjet1 as New Employe
monObjet1.GetEmployeById(X)

Voilà le moment ou la propriété Shared entre en jeu. En effet, grâce à cette propriété, il est possible d'utiliser une méthode, une fonction ou une propriété d'une objet sans instance de ce dernier. Ceci vient palier à tous les problèmes de mémoire, de performance et autre. Voilà comment ce dernier s'utilise :

Classe

 

Public Class Employe

        ''' <summary>
        ''' Méthode retournant un Employe selon sont Identifiant
        ''' </summary>
        ''' <param name="ID">Identifiant de l'employé recherché</param>
        ''' <returns>Objet Employe</returns>
        ''' <remarks>Version 1.00</remarks>
        Public Shared Function GetEmployeById(ByVal ID As Integer) As Employe
            ...
        End Function       
End Class

Code

 

...
' Utilisation : Namespace.Objet.Méthode
Dim MonEmploye As Employes.Employe = Employes.Employe.GetEmployeById(2)



Ajouter cette page à votre réseau social favoris
Digg! Reddit! Del.icio.us! Mixx! Free and Open Source Software News Google! Live! Facebook! Technorati! StumbleUpon! Spurl! Furl! Blogmarks! Yahoo! Mister-Wong! DZone! Free Joomla PHP extensions, software, information and tutorials.

Rétrolien(0)

Adresse URI pour un rétrolien sur cet article

Commentaires (0)

Flux RSS pour les commentaires

Ecrivez un commentaire

Réduire l'éditeur | Agrandir l'éditeur

busy

Publicités

Nos services

Programmation Web

Que ce soit pour faire la conception d'un site Web ou pour la refonte d'un site existant, nous avons la solution.

La création et la conception Web sont au cœur de nos activités. Chaque concept et création sont différents, et chaque client est unique. Rien n’est laissé au hasard pour faire de votre création multimédia un outil unique de promotion.

Suite ...
Programmation Desktop

Quel que soit votre projet, nous pouvons le réaliser pour vous !

Grâce à notre expertise en programmation, nous sommes en mesure de concevoir une variété d’applications qui pourront vous permettre d’augmenter votre clientèle, de la fidéliser ou encore de réduire vos coûts d’opération ! Nos critères élevés de contrôle de qualité ainsi que la grande expertise de nos programmeurs et de nos chargés de projets contribuent au succès des mandats qui nous sont confiés.

Suite ...
Autres ...

Quel que soit vos projets ou vos idées, contactez nous!

Grâce à notre expérience et notre expertise en informatique, nous serons en mesure d'évaluer vos projets et nous pourrons trouver une solution à vos problèmes. Que ce soit de la programmation ou de la base de données ou bien tout autres problèmes informatiques, contactez nous, nous serons là pour vous.

Suite ...

Connexion