2010-08-28 5 views
3

Je suis en train d'écrire un système de commande.gérer plus d'une demande

Dans ce programme, l'utilisateur peut demander de la nourriture. A cet effet, j'ai une classe nommée User et une classe nommée Food.

Dans la classe Program J'ai un champ qui est un champ de liste qui contient des objets alimentaires. Dans la classe Program j'ai aussi un champ d'objet utilisateur.

Maintenant, je suis un peu confus. Le problème est que si deux utilisateurs demandent en même temps une commande, ai-je besoin d'utiliser une liste d'utilisateurs dans ma classe Program ou est-ce le seul champ suffisant? Ou dois-je utiliser le filetage.

La façon dont j'ai écrit l'application, il suffit de gérer une demande à la fois. Alors qu'en est-il des autres demandes? Quels changements dois-je appliquer pour gérer les demandes des utilisateurs?

Je n'utilise une base de données au moment (que je ne suis pas bien au courant)

class User { 
    private string name; 
    private string address; 
    // ... 
} 

class Food { 
    private string name; 
    private int id; 
    // ... 
} 

class Program { 
    private User user; 
    private List<Food> foods; 
    // ... 
} 
+0

levez les yeux et le versioning de ligne concurrency ... –

+0

Comment est l'objet du programme créé? Est-ce une application web? – Joni

+0

c'est une application Windows à ce stade (j'ai un plan pour le lancer sur le web mais pas maintenant) alors peut-être que je peux dire qu'un opérateur du système organise lui-même les commandes (créer des objets utilisateurs) – user383240

Répondre

0

Si vous souhaitez associer un plus d'un objet de nourriture avec un utilisateur, vous pourriez avoir une liste des aliments avec leurs identifiants pour chaque utilisateur (cela signifie une liste d'aliments dans chaque classe d'utilisateurs), de sorte que vous pouvez ajouter les aliments commandés à chaque utilisateur et vous devriez avoir une liste d'utilisateurs dans votre programme et une liste d'aliments contenant tous les aliments par défaut aliments avec leurs identifiants. Mais pourquoi ne jetez-vous pas un coup d'oeil avec un système DB (comme SQLite) ou XML avec DataSet et DataTable (vous pourriez avoir vos aliments sous forme de fichier XML et vous pourriez facilement le charger dans un DataSet ou le sauvegarder d'un DataSet à un fichier XML)?

0

Une liste des aliments est conservée pour chaque utilisateur. Vous pouvez avoir un dictionnaire ici.

class Program { 
    private Dictionary<User, List<Food>> userFoodsMap; 
    // ... 
} 

Ou bien, vous pouvez avoir une classe spéciale qui lie l'alimentation à l'utilisateur de

class UserFoodsMap { 
    private User user; 
    private List<Food> foods; 
    // ... 
} 

class Program { 
    private List<UserFoodsMap> userFoodsMap; 
    // ... 
} 
Questions connexes