मेरे पास बहुत सारी (सार) कारखानियां हैं और उन्हें आम तौर पर सिंगलेट के रूप में लागू किया जाता है।"सिंगलटन" कारखानों, ठीक है या बुरा?
आमतौर पर उन परतों के माध्यम से उन्हें पारित करने की सुविधा के लिए, जिनके पास वास्तव में इन कारखानों का उपयोग करने या जानने के साथ कोई व्यवसाय नहीं है।
अधिकांश समय मैं केवल जो कारखाने कार्यान्वयन के कोड कार्यक्रम के बाकी है, शायद कुछ विन्यास
यह जैसे लग रहा है के माध्यम से स्टार्टअप पर एक निर्णय करने की जरूरत है यह हो सकता है और अधिक एक सिंगलटन की तुलना में एक disuised वैश्विक है - जैसे
abstract class ColumnCalculationFactory {
private static ColumnCalculationFactory factory;
public static void SetFactory(ColumnCalculationFactory f) {
factory = f;
}
public static void Factory() {
return factory;
}
public IPercentCalculation CreatePercentCalculation();
public IAverageCalculation CreateAverageCalculation();
....
}
someting इस बारे में गंध करते हैं, मैं सिर्फ यकीन है कि क्या नहीं कर रहा हूँ। ऐसा नहीं है कि वास्तव में वास्तव में वास्तव में कॉलम गणना बनाने वाले केवल एक कारखाने हैं - हालांकि मेरे कार्यक्रमों की अधिक आवश्यकता नहीं है।
क्या यह सबसे अच्छा अभ्यास माना जाता है? क्या मुझे इन्हें कुछ (अर्द्ध) वैश्विक ऐपकॉन्टेक्स्ट क्लास में सामान देना चाहिए? कुछ और (मैं कुछ बड़े आईओसी कंटेनर, या spring.net पर स्विच करने के लिए काफी तैयार नहीं हूँ अभी तक बीटीडब्ल्यू)?
हालांकि खुला सार्वजनिक सेटफैक्टरी को देखते हुए कोई गारंटी नहीं है कि कोई कारखाने के साथ और अधिक गड़बड़ी नहीं कर सकता है, मैं आमतौर पर प्रारंभिक desicion या विन्यास के आधार पर स्टार्टअप पर कारखाना सेट करने लगते हैं। – leeeroy
तो आप सिंगलेट्स की कमी का शिकार हो जाते हैं ... वे सिंगलेट हैं। – coppro