के बीच एक चर साझा करना यदि आपके पास ऐसी कक्षा है जिसमें एक राज्य चर और दो सदस्य वर्ग शामिल हैं जिन्हें इसकी पहुंच की आवश्यकता है और असीमित रूप से कार्यरत हैं। इसे लागू करने का सबसे अच्छा तरीका क्या है?कक्षा और उसके सदस्य
एक उदाहरण
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
}
इन कक्षाओं एसिंक्रोनस रूप से कार्य करते हैं। डिलिवरीमेन और प्रदायक वर्ग दोनों को राज्य को पढ़ने/लिखने में सक्षम होना चाहिए। डिलिवरीमैन रेस्तरां की स्थिति को धक्का देता है और प्रदायक अपनी सप्लायर की स्थिति के लिए सुनता है।
क्या डिलिवरीमैन या प्रदायक को अपने मालिक रेस्तरां के संदर्भ में दिए बिना न्यूनतम युग्मन के साथ इसे कार्यान्वित करने का एक बेहतर तरीका है।
चूंकि ResturantState को निजी के रूप में घोषित किया जाता है कि आप अन्य वर्गों को इसे अपडेट करने की अपेक्षा कैसे करते हैं? – user957902
धन्यवाद, मैंने आंतरिक – eddiehobbes
में एक्सेस संशोधक को बदल दिया है, यदि वे आपके वास्तविक राज्य हैं, तो मैं इसे अपने (संपादित) उत्तर में 2 बूल के साथ कक्षा बनाने की अनुशंसा करता हूं। – Davy8