Comportement du singleton
Bonjour,
je viens vers vous car je réalise un projet pour mon entreprise (malgré que je ne sois pas développeur de métier mais par passion).
Je vous explique le principe de mes interrogations.
voici mes class :
- connexion : formulaire, traitement
- classique : connexion à la base de donnée
- cache : gère le cache
- head : gère les meta, le head ainsi que l'ouverture et la fermeture du body.
- preference : définie certaines constantes en fonction du profil d'utilisateur, sachant que si vous n'êtes pas authentifié, les constantes sont tout de même défini avec des valeurs car la personne non authentifié appartient au groupe visiteur.
- session : vérifie à chaque pas si la personne est authentifiée, ainsi on obtient son groupe et login. Le groupe permettant de définir des morceaux de code. Une personne non authentifié est considéré dans un groupe visiteur. Je fonctionne avec une table mysql memory.
- sql : requête de lecture et de mise à jour sql servant tout le long de la navigation.
J'ai géré un singleton pour les class suivantes : connexion, classique, session et sql.
Donc mes questions sont les suivantes :
-d'après vous ("professionnel"), est-je bien segmenter mes portions de class ?
-ai-je utiliser correctement les singletons au niveau du contexte ?
-lorsqu'un utilisateur va se connecter, je créé une instance (singleton) avec une session. Est ce que si une autre personne se connecte, elle utilisera l'instance déjà créé par la première ? si oui ça pose un problème de sécurité ?
-idem que plus haut, lorsque l'administrateur se connecte et fait une requête sql, une instance est créé. Est ce que le visiteur utilise la même instance du fait du singleton ?
Voilà j'espère avoir été assez clair, n'hésitez pas à me poser des questions. Je vous avoue j'ai vraiment besoin d'une aide. Il est vrai que je ne suis pas obligé d'utiliser les singleton mais ce projet peut amener de nombreuses connexion et donc une optimisation me semble obligatoire. De plus concernant ma question au niveau de la segmentation du code, je vous pose la question car je me suis toujours demandé si c'était logique, si des professionnels feraient comme ça, etc.
Merci beaucoup d'avance à toute personne faisant l'effort de prendre le temps sur cette réflexion et sur les différentes questions.
Partager