IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Architecture] Utiliser une classe en dev / test et une autre en prod


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Avatar de savageman86
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 105
    Points : 199
    Points
    199
    Par défaut [Architecture] Utiliser une classe en dev / test et une autre en prod
    Bonjour,

    Je cherche une sorte de design pattern qui permettrai d'utiliser en DEV une certaine classe, et en PROD une autre (les 2 ayants les mêmes prototypes / fonctionnalités, mais celle de prod est plus légère, effectue moins de vérifications, etc. Vers quoi dois-je m'orienter ?

    D'avance merci pour vos réponses.

    Savageman.

  2. #2
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Je ne crois pas qu'il existe une réponse simple à cette question car pour l'essentiel, cela dépend de ce que tu veux introduire comme différences entre les deux classes.

    A priori, le pattern Template Method est une bonne source d'inspiration.
    Mais si les différences de comportement entre debug et prod deviennent complexes, il faudra sans doute recourir à d'autres modèles pour compléter le travail: Factory me vient à l'esprit, peut être Strategy.

  3. #3
    Membre habitué
    Avatar de savageman86
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 105
    Points : 199
    Points
    199
    Par défaut
    Merci pour ta réponse et... pour sa rapidité !

    Comme exemples, on pourrait citer :

    - Une classe générant des requêtes SQL qui vérifie les types de champs et leur existence ou non.
    - Une classe d'erreur qui affiche les erreurs ou les logue (ça encore ça peut se gérer uniquement par la configuration, mais c'est un exemple).
    - Une classe de debug qui fait son job en dev et est inactive en prod.

    Je le redis : les classes doivent avoir les même méthodes / fonctionnalités / prototypes. Seul le code d'initialisation doit changer. Je ne souhaite pas supprimer tous les appels au milieu du code.

    Un des objectifs est de (faire) charger (par PHP) moins de code à l'exécution. Les classes de dév étant "grosses" et les classes de production "light".

    Je vais aller voir du côté de Template Method pour commencer (je ne connais pas).

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/08/2010, 01h31
  2. [DEV] REALbasic, BWPreferencesFile : une classe pour les préférences
    Par gibet_b dans le forum Développement OS X
    Réponses: 0
    Dernier message: 18/09/2007, 14h38
  3. Réponses: 1
    Dernier message: 30/11/2006, 10h59
  4. Réponses: 6
    Dernier message: 21/05/2006, 20h37
  5. [Applet]utiliser une classe d'un package dans une applet
    Par jeromejanson dans le forum Applets
    Réponses: 1
    Dernier message: 30/06/2005, 08h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo