如果您有一个包含状态变量的类,并且有两个成员类需要异步访问并操作该变量,那么最好的实现方式是什么?
一个例子:
一个例子:
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
}
这些类是异步操作的。DeliveryMan和Supplier类都需要能够读写状态。DeliveryMan推送餐厅的状态,而Supplier监听其供应商的状态。
有没有更好的设计方式或者一种实现方法来最小化耦合,而不给DeliveryMan或Supplier一个对其所有者Restaurant的引用。