Sto costruendo una grande applicazione Desktop, che avrà una gamma di funzionalità, per ognuna desidero avere una classe specifica.
Sto pensando di utilizzare una struttura di classe nidificata per modulare il codice e garantire la separazione tra interfaccia e implementazione:
class Manager
{
public:
Manager(); //Initialise *t and *wapi in constructor
~Manager(); //Delete *t and *wapi in destructor
private:
class Transport;
Transport *t;
class WinAPI;
WinAPI *wapi;
};
class Manager::Transport
{
public:
Transport(); //Initialise *tcp and *http in constructor
~Transport(); //Delete *tcp and *http in destructor
private:
class TCPSocket;
TCPSocket *tcp;
class HTTP;
HTTP *http;
};
class Manager::Transport::TCPSocket {};
class Manager::Transport::HTTP {};
class Manager::WinAPI
{
...
};
Questa è la prima volta che ho creato una grande applicazione incorporata - ci sono problemi / altre considerazioni che dovrei prendere in considerazione prima di adottare questo approccio?