2
可能重複:
How do you declare an interface in C++?C++設計模式問題。單接口多實現?
嗨,
什麼是創建單一的界面和多種實現在C最好辦法++?
例如,我想爲mac和epoll for linux實現kqueue並共享接口。
謝謝
可能重複:
How do you declare an interface in C++?C++設計模式問題。單接口多實現?
嗨,
什麼是創建單一的界面和多種實現在C最好辦法++?
例如,我想爲mac和epoll for linux實現kqueue並共享接口。
謝謝
的Strategy Pattern也可能是你在找什麼。
Abstract Factory Pattern可幫助您在啓動時填寫正確的實施方案。
「優選的方式」? – dantuch 2011-05-03 07:48:15
在這種情況下,我會盡量保持頭部中的接口足夠通用,以便它可以與任一實現一起工作,只需創建兩個不同的詳細源文件,並使用#ifdef#include包含第三個正確的源文件。這不是優雅,但它的工作原理。我這樣做的原因是,使用複雜的模式可以在運行時決定是否從一開始就明確表示只會在特定平臺上使用一種實現,這是毫無意義的。 – Damon 2011-05-03 08:49:43