RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Objet vs packages : comment determiner ?

Forum : ADA
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ ADA

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM ADA

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
hibou57
Modérateur :
- XML/XSL
Avatar de hibou57
Inscrit : 13/02/2005
Messages : 285
Message
#146921
Posté le 29/12/07 à 05:04
Bonjour les gens Smiley (il est tôt je sais.. mais pour moi il est tard lol)

Un package Ada peut être vu d'une certaine manière : comme un objet statique. Et avec la comparaison à l'objet, vient justement la question de savoir dans un tel ou tel cas : dois-je utiliser un package ou un objet ?

La question ne se pose pas avec les langages pour lesquels tout est objet, comme Eiffel par exemple (mais que j'ai abandonné depuis 3 ans). Seulement, on ne peut pas se servir du savoir faire spécifiques à ces langages pour répondre à la question concernant Ada, parce que ces compilateurs ne traitent pas les objets comme le fait un langage comme Ada.

La réponse est moyennement évidente (moyennement, car pas toujours), dans les cas où plusieurs intances doivent exister. Dans ce cas, on aura tendance à privilégier l'objet (et encore, pas toujours). Seulement voilà, même cette remarque ne suffit pas à répondre à la question, parce que le fait même d'avoir plusieurs instances simultanés ou pas n'est justement pas évidente à trancher.

Je prend deux exemples pour être plus clair.

Exemple #1: une application réseau basée sur des socket, aura typiquement plusieurs instances d'objet. Mais on pourra pourtant avoir seulement plusieurs instances de structures de données, et des méthodes s'appliquant à ces structures qui seront dans un package et non pas dans un objet.

Exemple #2: une application qui fait du "parsing" (c'est quoi le mot français pour parsing ?) sur des fichiers. Typiquement, on aura un fichier et un seul traité à chaque instant. Mais on pourra avoir à accéder à plusieurs fichiers simultanément. C'est un exemple du cas où la multiplicité des instances n'est pas évidente. N'oublions pas ici qu'il est question de package, et non pas encore d'application, et que lors de la création d'un package, si on le veut réutilisable, on doit le penser dans plusieurs cas possible. Mais toujours prendre le pire des cas n'est pas une bonne solution non-plus, car cette solution amène rapidement trop de lourdeur, et fini par anéantir l'intérêt pour le developpement orienté réutilisation.

On peut revenir à la remarque précédente : la question ne se pose pas avec certain langage. Alors concernant Ada, est-ce une pose chose ou pas que la question se pose ? Est-ce une mauvaise question induite par la distinction objet/package ? Faut-il plutôt voir les package Ada comme des clusters Eiffel et prendre plutôt l'habitude de toujours faire des objets ?

J'espère ne pas être trop confus.

Je pense que beaucoup on déjà rencontré des cas où ce genre de question de posait.. comment abordez-vous cette question délicate ?

Quelle sont les meilleurs habitudes à prendre selon vous ? Est-ce qjue le package doit imposé une structure aux applications ou est-ce que le package doit se plier à toutes les structures potentielles des applications qui l'utiliseront ?

Au plaisir de vous lire Smiley
__________________________
Lasidoré : Editeur XML orienté sémantique/Online XML editor (Prototype)
Utiliser le Compilateur Ada Gnat

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

jovalise
Nouveau membre
Inscrit : 21/12/2005
Messages : 21
Message
#152940
Posté le 11/05/08 à 13:40
Bonjour,

Je suis amateur, je n'ai pas fait beaucoup d'étude.

Perso, je ne pose pas la question. Peut-être est-ce du au fait de n'avoir jamais programmé orienté objet. Si l'on parle des même objet.

Pour moi, un paquetage est soit une machine abstraite soit un type abstrait.

Je ne peux apporter d'avantage.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

hibou57
Modérateur :
- XML/XSL
Avatar de hibou57
Inscrit : 13/02/2005
Messages : 285
Message
#152941
Posté le 11/05/08 à 14:59
Bijour Jovalise (on s'est croisé quelque part... mais où ?)

J'ai plutôt un faible moi aussi pour les types de données abstraits plutôt que pour les objets.

J'y vois au moins trois raisons (j'en avais trouvé d'autres, mais je les ai oublié) :

  • 1) Le type de donnée abstrait garanti la tracabilité à la Ada (en remontant les renames, use et with, on peut toujours remonter à la définition d'une méthode de type abstraits... ce qui n'est pas la cas avec les méthodes d'objets en Ada 2005)
  • 2) Pouvoir étendre l'ensemble des méthodes sans avoir à redéfinir un type.
  • 3) Pouvoir répartir les définitions de méthodes dans plusieurs packages, sans avoir à définir plusieurs type.


Le type de donnée abstrait me semble en moyenne plus lisible, plus sûr et plus souple que l'objet avec notation pointée.

Mais bon, je ne suis pas du tout à ces questions en ce moment.... alors possible que j'oubli des choses
__________________________
Lasidoré : Editeur XML orienté sémantique/Online XML editor (Prototype)
Utiliser le Compilateur Ada Gnat

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM ADA



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.