WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Analyse d'intégration des technologies web services dans un système distribué pour l'authentification et le suivi permanent des étudiants.


par Daniel Kavale
Université Révérend Kim - Licence en Conception des systèmes d'information et Gestion des Bases des données 2020
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

IV.3.3. Le Méthodes de programmations utilisées

Etant donné que nous avons utilisé UML afin de modéliser notre nouveau système, il faut savoir que choisir UML pour la modélisation, est un fait implique certaines contraintes et logique à appliquer au niveau de d'implémentation des classes issues du diagramme de classe présenté plus haut, et ces contraintes et logique sont essentiellement liés à la méthode de programmation orientée objet, POO en sigle.

1. La Méthode objet

Cette méthode qui consiste à créer une représentation informatique des éléments du monde réel du monde auxquels on s'intéresse, sans forcément se préoccuper de l'implémentation, ce qui signifie indépendamment d'un langage de programmation.

Il s'agit donc d'identifier les objets présents dans le système et d'isoler les données et les fonctions qu'ils utilisent. En bref, c'est la description de ce qui est représenté dans un diagramme de classe.

? Avantages de la POO

Choisir la méthode objet comme sa méthode de programmation, présente un bon nombre d'avantage dont :

? La POO permet l'encapsulation : Le code constituant l'objet est caché de l'utilisateur (l'utilisateur dont il est question ici c'est celui qui se servira de vos objets afin d'animer le site ou l'application, et non le visiteur qui demande la page depuis son navigateur, ou simplement l'utilisateur de l'application).

43

44

Cela diminue le risque d'erreurs puisque l'utilisateur ne pourra pas modifier le coeur même de votre code et évitera ainsi beaucoup d'erreurs.

( Maintenance et évolutivité : C'est-à-dire que la POO permet de concevoir une application dont les différents constituants sont indépendants les uns des autres. De ce fait, modifier un de ces constituants n'affectera pas les autres et n'entraînera donc pas d'erreurs ou autres comportements erratiques, du fait de la clarté du code vous retrouverez facilement les éléments que vous souhaitez modifier.

( Possibilité de réutilisation : L'indépendance de vos modules vous permet de les réutiliser dans d'autres applications: module de news, galerie photo: ces éléments sont présents sur une grande majorité de sites, il est donc très intéressant de pouvoir les réutiliser à chaque fois que ce sera nécessaire, sans avoir à les réinventer!


·
·
Inconvénients de la POO

( La performance souffre parfois en utilisation intensive du polymorphisme en temps d'exécution, patrons de conception imbriqués et autres artifices POO.

( La redondance de code parfois imposée par certaines contraintes et recommandations de l'OOP. Taille de la base de code conséquente, résultat de l'accumulation des niveaux d'abstraction.

( La sur-ingénierie ou Overengineering est un piège qui guette les concepteurs (parfois expérimentés) et qui peut causer des dégâts allant du retard jusqu'à l'échec du projet.

( Exigence en savoir-faire en génie logiciel pour les projets importants (architectes, ingénieurs, et développeurs qualifiés en POO).

( Pas très pratique pour des petits projets ou test de fonctionnalités non PPO. En somme, La réutilisation, l'encapsulation, l'extensibilité et la maintenabilité ont parfois des prix à payer : le temps et l'espace entre autre.

Il est important de notifier, qui l'existe des méthodologies pouvant être combinées à la POO afin d'accroître ces avantages en proposant une structuration bien particulière et un niveau d'abstraction et d'organisation bien plus élevé. Ces méthodologies sont connues sous le nom de « designs patterns ».

2. Les Design patterns

Les designs patterns (en français patrons de conception, Modèle de conception ou encore Motifs de conception) représentent chacun un ensemble de bonnes pratiques de conception pour un certain nombre de problème récurrents en programmation orienté objet.

Ce concept de Designs patterns est issu des travaux de 4 chercheurs (Erich Gamma, Richard Helm, Ralph Johnson, et John Vlissides, groupe de quatre chercheur connu sous le nom de « Gang of four » ou « La bande des quatre »)

dans leur ouvrages intitulé « Design patterns : Elements of Reusable Object-Oriented Software » édité en 1995 et proposant 23 motif de conception.

Il existe plusieurs types de patterns, mais dans le cadre de notre implémentation, nous n'en avons utilisés que deux, à savoir : le pattern singleton et le pattern DAO.

? Le Pattern Singleton

Le « singleton » [Gamma 95] est l'une des techniques les plus utilisées en conception orientée objet. Il permet de référencer l'instance d'une classe devant être unique par construction. Certains objets techniques prennent en effet une responsabilité particulière dans la gestion logique d'une application.

C'est par exemple le cas d'objets comme le « contrôleur des objets chargés en mémoire » ou le « superviseur des vues », qui sont les seuls et uniques représentants de leur classe. Ces objets sont le plus souvent publiquement accessibles.

De tels cas de figure sont extrêmement fréquents en conception objet, et le singleton est requis pour les concevoir.

Le singleton repose sur l'utilisation d'une opération de classe, getInstance() :

Instance, chargée de rapporter à l'appelant la référence de l'objet unique. De plus, le singleton se charge automatiquement de construire l'objet lors du premier appel.

? Le Pattern DAO

Un objet d'accès aux données (en anglais Data Access Object) est un patron de conception (en la langue de voltaire, un modèle pour concevoir une solution) utilisé dans les architectures logicielles objet. Ce modèle permet d'encapsuler la façon dont un programme récupère les données d'un système de stockage (fichier, BDD...).

Il fait donc abstraction de la façon dont les données sont stockées au niveau des objets métier, Ainsi, le changement du mode de stockage ne remet pas en cause le reste de l'application. En effet, seules ces classes dites "techniques" seront à modifier (et donc à ré-tester). Cette souplesse implique cependant un coût additionnel, dû à une plus grande complexité de mise en oeuvre.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Entre deux mots il faut choisir le moindre"   Paul Valery