मैं विंडोज पर काम कर रहा हूं। मुझे विंडोज 2008 के लिए एपीआई के कुछ सेट और विंडोज के अन्य स्वादों के लिए उपरोक्त और एपीआई के अलग सेट को देखना होगा। मुझे पता है कि सामान इस तरह डिजाइन करने के लिए सबसे अच्छा तरीका क्या है, ताकि अपने मुख्य चालक कोड #ifdef
सी ++ डिज़ाइन पैटर्न प्लेटफ़ॉर्म विशिष्ट एपीआई
उदाहरण के लिए है नहीं करना चाहती: विंडोज 2008 में हम एपीआई
EVT_HANDLE WINAPI EvtOpenLog(
__in EVT_HANDLE Session,
__in LPCWSTR Path,
__in DWORD Flags
);
और Windows के लिए है 2003 हमारे पास एक और एपीआई है जो वही करता है।
HANDLE OpenEventLog(
__in LPCTSTR lpUNCServerName,
__in LPCTSTR lpSourceName
);
जो मैं ढूंढ रहा हूं वह मेरे कोड में कुछ प्रकार का रैपर एपीआई है जो इन कॉलों को आंतरिक रूप से संभालता है।
क्या आप कह रहे हैं कि आप अंतर्निहित स्वाद-निर्भर एपीआई के बावजूद अपने मुख्य ड्राइवर कोड को एक ही उच्च स्तरीय एपीआई का उपयोग करना चाहते हैं? –
शायद डिजाइन पैटर्न पुस्तक में GUIFactory। क्या आप कुछ उदाहरण दे सकते हैं कि कौन से एपिस और अलग कैसे हैं? –