Question : Comment programmer bien

J'ai la conception/problème idéologique, et les mets connais quelle solution choose.

ClassWithData - est la classe qui stockent des données pour ClassWithFunction
ClassWithFunction - est la classe qui font quelque chose en appelant son

class A
{Cd de fonction de
ClassWithData ; Cf du
ClassWithFunction ;
private :
{
cf.function du
RunWrapper () (cd) ;            
du
}} ;

OR

class A
{Cd de
ClassWithData ; Cf du
ClassWithFunction ;
private :
RunWrapper (x)
{
cf.function (x) ;            
du
}} ; le
Iam du

(RunWrapper est ofcourse privé) a confondu avec celui parce que, parfois j'écris comme dans le premiers exemple et parfois a comme le deuxième sans n'importe quel reson.
class= de

Réponse : Comment programmer bien

L'ok I voient, merci pour signaler les en-têtes. :)

Ce code complique clairement des choses excessivement, réellement sa seulement 1 classe requise, plutôt que 3.

Laisse l'appel il « processus » :

processus de classe
{
public :
    Processus (DST : : executable_name_ wstring, DST : : command_line_ wstring) ;
    ~Process (vide) ;

    StartProcess vide () ;

privé :
    CreateProcessAsActiveSession vide () ;
    bool GetActoveConsoleSessionId (session_id de DWORD&) ;

privé :
    DST : : executable_name_ wstring ;
    DST : : command_line_ wstring ;
} ;

La membre-fonction « StartProcess » appartient dans cette classe, parce que tous qu'elle a besoin en termes de données, est ici.

Vous voyez qu'elle a toute la fonctionnalité, comme les 3 classes, mais elle encapsule les données et les fonctions qui opèrent ces données dans 1 endroit. C'est ce qui est signifié par la « encapsulation » en termes d'OO-Programmation.
Positif il a une interface plus propre et est plus facile d'employer.

Peut-être il lui fait le clairifiant, si vous pensez à ajouter de nouvelles fonctionnalités, comme KillProcess et d'autres, ils que tout appartient dans cette classe. Garder les données et les fonctions qui opèrent ces données ensemble dans 1 endroit.
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us