मैं बिल्कुल याद नहीं है कि यह एक आम पैटर्न है, लेकिन मैं एक वर्ग (फैक्टरी विधि पैटर्न) जो अन्य वर्गों (सार फैक्टरी पैटर्न) enum पैरामीटर के आधार पर बनाने के लिए विधि है है:कक्षा के लिए एक अच्छा नाम क्या है जो कारखानों का निर्माण करता है? (FooFactoryFactory मूर्खतापूर्ण लगता है imo)
public class FooFactoryFactory {
public FooFactory createFactory (FooFactoryType type) {
switch (type) {
case AFoo:
return new AFooFactory();
break;
case BFoo:
return new BFooFactory();
break;
default:
throw new RuntimeException ("...");
}
}
}
public interface FooFactory {
Foo createFoo();
FooItem createFooItem();
}
FooFactory में कई कार्यान्वयन के साथ-साथ फू इंटरफ़ेस और FooItem इंटरफ़ेस (सामान्य सार फैक्टरी पैटर्न) है।
तो, FooFactoryFactory का नाम कैसे बदलें?
शायद, FooFactoryCreator? (इस सवाल को लिखने के दौरान इस नाम के बारे में सोचें)। IMHO यह अच्छा है, आप कैसे सोचते हैं?
फू सेनानियों .. –
'FooFactoryFactory' मूर्खतापूर्ण लग सकता है, लेकिन मुझे लगता है कि यह स्पष्ट रूप से संचार करता है कि यह क्या है। उम्मीद है कि आपको कभी भी 'FooFactoryFactoryFactory' की आवश्यकता नहीं है :-) –