Tôi đang làm việc trên Windows. Tôi phải xem một số bộ API nhất định cho Windows 2008 trở lên và các bộ API khác nhau cho các hương vị khác của Windows. Tôi muốn biết cách tốt nhất để thiết kế loại đó của công cụ này là gì, do đó mã trình điều khiển chính của tôi không có #ifdef
Nền tảng mô hình thiết kế C++ cụ thể api
Ví dụ: Trong Windows 2008 Chúng tôi có API
EVT_HANDLE WINAPI EvtOpenLog(
__in EVT_HANDLE Session,
__in LPCWSTR Path,
__in DWORD Flags
);
và Đối với Windows 2003, chúng tôi có một API khác cũng vậy.
HANDLE OpenEventLog(
__in LPCTSTR lpUNCServerName,
__in LPCTSTR lpSourceName
);
Điều tôi đang tìm kiếm là có một số loại trình bao bọc API trong mã của tôi để xử lý nội bộ các cuộc gọi này.
Bạn có nói rằng bạn muốn mã trình điều khiển chính của bạn sử dụng cùng một API cấp cao bất kể API phụ thuộc vào hương vị cơ bản không? –
có thể là GUIFactory trong sách thiết kế mẫu. bạn có thể đưa ra một số ví dụ về apis nào và khác biệt như thế nào? –