Я хочу реализовать класс последовательной связи, который может использоваться как на Linux, так и на платформе Windows.Подходит ли фабричный метод для этого класса?Как работать с заголовочными файлами на другой платформе? Например, я хочу скомпилировать код в Windows, чтобы я не мог использовать заголовочные файлы в Linux. Стоит ли использовать вместо этого препроцессор?
//pseudocode
class ComDevice
{
virtual void getBytes()=0;
};
class LinuxComDevice:public ComDevice
{
void getBytes();
};
class WindowsComDevice:public ComDevice
{
void getBytes();
};
class DeviceFactory
{
ComDevice createDevice()
{
if(platformIsWindows())
return new WindowsComDevice();
else return new LinuxComDevice();
};
};