Всем доброго!
Мы будем делать существующее MFC-приложение кроссплатформенным (заодно с переносом GUI в WebKit). Проект крупный, опыта столь масштабного рефакторинга нет. Но общая картина складывается, в особенности благодаря комментарию хабраюзера
nick0x01, который разложил всё по полочкам.
Для минимизации количества #ifdef PLATFORM, весь платформо-зависимый код выносится в отдельные файлы. Фабричные методы создают объекты под данную платформу (у GoF кроссплатформенные примеры на абстрактной фабрике, но тут, вроде, дело вкуса). Всё красиво, но ничего не забыли? Есть что добавить к этой простой схеме? Какие-то комментарии из опыта?
Понятно, что «глаза боятся, руки делают», но пока проект ещё не в работе, хотелось бы максимально подготовиться.