I'm going to be rewriting a project from Node.js into C++11. The device the Node.js scripts are being run on are ARM based, and Node.js is slow to start up on the device.
In the Node.js program, I have a class for everything to separate code. I also have singleton classes for things that only need to be run once like the cleanup class which runs every hour to clean up temporary files. In the main script, all of the singleton classes are initialized which initialize the other classes as necessary.
In C++ I'll be using the Boost module. Should I be doing the same basic structure with the classes and singletons based on separation of functions? I was thinking about doing that and then passing around the boost::asio::io_service variable and using times and sockets with it to mimic Node.js's asynchronous execution?