Questione : Come programmare bene

Ho il disegno/problema ideologico ed indosso conosco che soluzione choose.

ClassWithData - è il codice categoria che memorizza i dati per ClassWithFunction
ClassWithFunction - è il codice categoria che fa qualcosa mediante la chiamata del relativo

class A
{Cd di funzione del
ClassWithData; Cf del
ClassWithFunction;
private:
{
cf.function del
RunWrapper () (cd);            
del
}};

OR

class A
{Cd del
ClassWithData; Cf del
ClassWithFunction;
private:
RunWrapper (x)
{
cf.function (x);            
del
}}; il
Iam del

(RunWrapper è ofcourse riservato) ha confuso con quello perché, a volte scrivo come nel primi esempio ed a volte a come la seconda senza alcun reson.
class= del

Risposta : Come programmare bene

L'approvazione I vede, ringraziamenti per l'invio delle intestazioni. :)

Questo codice sta complic troppoare chiaramente le cose, realmente il relativo soltanto 1 codice categoria stato necessario, piuttosto che 3.

Lascia la chiamata esso “processo„:

processo del codice categoria
{
pubblico:
    Processo (std:: executable_name_ wstring, std:: command_line_ wstring);
    ~Process (vuoto);

    StartProcess vuoto ();

riservato:
    CreateProcessAsActiveSession vuoto ();
    bool GetActoveConsoleSessionId (session_id di DWORD&);

riservato:
    std:: executable_name_ wstring;
    std:: command_line_ wstring;
};

La membro-funzione “StartProcess„ appartiene in questo codice categoria, perché tutti che abbia bisogno di in termini di dati, è qui.

Vedete che ha tutta la funzionalità, come i 3 codici categoria, ma incapsula i dati e le funzioni che azionano sopra quei dati in 1 posto. Quello è che cosa è significato “dall'incapsulamento„ in termini di OO-Programmare.
Più ha un'interfaccia più pulita ed è più facile da usare.

Forse gli rende il pulitore, se pensate ad aggiungere le nuove funzionalità, come KillProcess ed altri, che tutti appartengono in questo codice categoria. Mantenere i dati e le funzioni che azionano insieme sopra quei dati in 1 posto.
Altre soluzioni  
 
programming4us programming4us