Fondamentalement j'ai une entité (appelée session) qui fournira de nombreux services. Chaque service peut être activé ou désactivé sélectivement par l'utilisateur (connexion ou déconnexion). Je ne suis pas sûr de ce qui est le meilleur design pour représenter cela. Voir UMLQuelle est la bonne façon de modéliser un objet qui fournit de nombreux services?
Du point de vue de l'utilisation de la programmation de cas, les interactions avec une instance de session:
Session session = new Session("1234"); // 1234 is the userid
session.start();
session.serviceSignIn(ServiceType.DELICIOUS);
.... do stuff ...
session.serviceSignOut(ServiceType.DELICIOUS);
session.serviceSignIn(ServiceType.MAGNOLIA);
.... do stuff ...
session.serviceSignOut(ServiceType.MAGNOLIA);
Une autre conception possible:
session.delicious().signIn();
.... do stuff ...
session.delicious().signOut();
session.magnolia().signIn();
.... do stuff ...
session.magnolia().signOut();
Que dois-je préfère? Quelles erreurs fais-je?
Chaque service a également une URL particulière. Dois-je reconstituer tous les services à partir de certains fichiers de propriétés pour les paramètres configurables ou devrais-je le coder en dur dans la classe? –