Frage : Wie man gut programmiert

Ich habe Entwurf/ideologisches Problem und ziehe weiß an, welche Lösung choose.

ClassWithData - ist Kategorie, das Daten für ClassWithFunction
ClassWithFunction speichern - Kategorie ist, die etwas tun, indem es sein Funktion

class A
benennt {
ClassWithData Cd;
ClassWithFunction CF;
private:
RunWrapper ()
{
cf.function (cd);            
}
};

OR

class A
{
ClassWithData Cd;
ClassWithFunction CF;
private:
RunWrapper (ClassWithData& x)
{
cf.function (x);            
}
};

(RunWrapper ist das private ofcourse),
Iam verwechselte mit dem, weil, manchmal ich wie in erstes Beispiel und manchmal a wie zweites ohne irgendein reson.
schreibe

Antwort : Wie man gut programmiert

O.K.I sehen, Dank für die Aufgabe der Überschriften. :)

Dieser Code overcomplicating offenbar Sachen, wirklich seine nur 1 benötigte Kategorie, eher als 3.

Lässt Anruf es „Prozess“:

Kategorie Prozess
{
Öffentlichkeit:
    Prozess (Geschlechtskrankheit:: wstring executable_name_, Geschlechtskrankheit:: wstring command_line_);
    ~Process (Lücke);

    leeres StartProcess ();

privat:
    leeres CreateProcessAsActiveSession ();
    bool GetActoveConsoleSessionId (DWORD& session_id);

privat:
    Geschlechtskrankheit:: wstring executable_name_;
    Geschlechtskrankheit:: wstring command_line_;
};

Die Mitgliedfunktion „StartProcess“ gehört in diese Kategorie, weil alle, die sie in Daten ausgedrückt benötigt, ist hier.

Sie sehen, dass sie die ganze Funktionalität, wie die 3 Kategorien hat, aber sie die Daten und die Funktionen einkapselt, die an diese Daten in 1 Platz laufen lassen. Das ist, was durch „Verkapselung“ in der OO-Programmierung ausgedrückt bedeutet wird.
Plus zu verwenden hat eine sauberere Schnittstelle und ist einfacher.

Möglicherweise bildet es es Reiniger, wenn Sie an das Hinzufügen der neuen Funktionalitäten, wie KillProcess und andere denken, sie, die alle in diese Kategorie gehören. Die Daten und die Funktionen halten, die an diese Daten zusammen in 1 Platz laufen lassen.
Weitere Lösungen  
 
programming4us programming4us