Si vous avez une classe qui contient une variable d'état et deux classes de membres qui doivent y accéder et fonctionner de manière asynchrone. Quelle est la meilleure façon de mettre en œuvre cela?Partage d'une variable entre une classe et son membre
Un exemple
public enum RestaurantState
{
BREAKFAST,
LUNCH,
DINNER
}
public class Restaurant
{
//Below need access to state
private DeliveryMan pizzaDriver ;
private Supplier butcherShop ;
internal RestaurantState state ;
}
public DeliveryMan
{
//Uses a System.Timers.Timer
//Wakes up and does work every a minute
//Needs to inform state of restaurant
}
public Supplier
{
//Waits and listens for requests to accept deliveries
//If suppliers run out we need to change the restaurant state based on our own current state
}
Ces classes fonctionnent de manière asynchrone. Les deux classes DeliveryMan et Supplier doivent pouvoir lire/écrire l'état. DeliveryMan pousse l'état du restaurant et le fournisseur est à l'écoute du statut de son fournisseur.
Y a-t-il une meilleure façon de concevoir ceci ou une façon de l'implémenter avec un couplage minimal sans donner à DeliveryMan ou à un fournisseur une référence à son propriétaire Restaurant.
depuis ResturantState est déclaré comme privé comment vous vous attendez à ce que les autres classes le mettent à jour? – user957902
Merci, j'ai changé le modificateur d'accès en interne – eddiehobbes
Si ce sont vos états actuels, je vous recommande de faire une classe avec 2 booléens comme dans ma réponse (éditée). – Davy8