मैं थोड़ी देर के लिए फैक्टरी विधि निर्माण पैटर्न का उपयोग कर रहा हूं। मैं अभी हाल ही में बताया गया था कि यह:क्या यह फैक्टरी विधि निर्माण पैटर्न है?
public static class ScheduleTypeFactory
{
public static IScheduleItem GetScheduleItem(ScheduleTypeEnum scheduleType)
{
IScheduleItem scheduleItem = null;
switch (scheduleType)
{
case ScheduleTypeEnum.CableOnDemandScheduleTypeID:
{
scheduleItem = new VODScheduleItem();
break;
}
case ScheduleTypeEnum.BroadbandScheduleTypeID:
{
scheduleItem = new VODScheduleItem();
break;
}
case ScheduleTypeEnum.LinearCableScheduleTypeID:
{
scheduleItem = new LinearScheduleItem();
break;
}
case ScheduleTypeEnum.MobileLinearScheduleTypeID:
{
scheduleItem = new LinearScheduleItem();
break;
}
}
return scheduleItem;
}
}
मुझे बता क्यों या मुझे उसकी व्याख्या दिए बिना मेरी "टेक" नेतृत्व द्वारा एक कारखाने विधि निर्माण प्रतिमान नहीं है। मैंने कृपया एक स्पष्टीकरण मांगा और उसने मुझे बताया कि उसके पास समय नहीं है। मुझे बस इसका नाम बदलने के लिए कहा गया था। यदि मैं गलत हूं, तो मुझे कोई संदेह नहीं होगा कि मैंने इसे गलत तरीके से लागू किया है। क्या आप फैक्ट्री विधि निर्माण पैटर्न को कार्यान्वित करेंगे? अग्रिम में धन्यवाद।
यह एक कारखाना है हालांकि बहुत सरल है। आमतौर पर फैक्ट्री का उपयोग जटिल निर्णय तर्क को समाहित करने के लिए किया जाता है और आपके मामले में निर्णय तर्क केवल enum lookup है। –
फैक्टरी पैटर्न जटिलता को छिपाना है। एक enum की तलाश सरल है, लेकिन जब मैं इसे एक बार करता हूं, क्लाइंट के 10 गुना के बजाय, मैं इसे पसंद करूंगा। लेकिन मैं विधि को दोबारा शुरू करना शुरू कर दूंगा। कई लाइनें हैं, जिन्हें हटाया जा सकता है। – cRichter
यह स्थैतिक कारखाना विधि है। इसका संदर्भ लें: http://stackoverflow.com/questions/929021/what-are-static-factory-methods –