Si tiene una clase que contiene una variable de estado y dos clases miembro que necesitan acceso y funcionan de forma asíncrona. ¿Cuál es la mejor manera de implementar esto?Compartir una variable entre una clase y su miembro
Un ejemplo
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
}
Estas clases operan de forma asíncrona. Ambas clases, DeliveryMan y Supplier, necesitan poder leer/escribir el estado. DeliveryMan resalta el estado del restaurante y el Proveedor escucha el estado de su proveedor.
Existe una mejor manera de diseñar esto o una forma de implementarlo con un acoplamiento mínimo sin dar a DeliveryMan o Proveedor una referencia a su propietario Restaurant.
ya que ResturantState se declara como privado ¿cómo espera que otras clases lo actualicen? – user957902
Gracias, he cambiado el modificador de acceso a – eddiehobbes
interno. Si esos son sus estados reales, recomendaría hacer una clase con 2 bools como en mi respuesta (editada). – Davy8