<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Manager Klassen]]></title><description><![CDATA[<p>Hallo ihr lieben Leute,<br />
mal eine Frage von einem Anfänger.</p>
<p>Bei mir ist es schon häufiger vorgekommen, dass ich beim Entwerfen eines Programmes auf das Prinzip einer oder gar mehrerer Manager-Klassen zurückgegriffen habe, also Klassen, die quasi den Gesamtablauf eines Programmes gesteuert haben. Häufig ist es so, dass diese Klasse Teile der OOP-Prinzipien verletzen oder aber sie mir einfach nicht sauber programmiert vorkommen.<br />
Daher mal die Frage, ob man dieses Vorgehen auch umgehen kann? Gibt es da Prinzipien nach denen man sich richten kann?</p>
<p>Ich habe auch mal ein Buch gefunden, dass versucht einem diesen Gebrauch von Manager-Klassen abzugewöhnen, da sie schlicht nicht sauber sind, dummerweise habe ich das Buch nicht gekauft und weiß auch nicht mehr welches das war. Auch habe ich kein konkretes Beispiel, hoffe aber dennoch dass ihr wißt was ich meine . sorry falls der thread etwas abstrakt ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Gruß<br />
der Ultra_Manager</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/171771/manager-klassen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 06 Jul 2026 09:15:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171771.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 29 Jan 2007 10:13:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Manager Klassen on Mon, 29 Jan 2007 10:13:38 GMT]]></title><description><![CDATA[<p>Hallo ihr lieben Leute,<br />
mal eine Frage von einem Anfänger.</p>
<p>Bei mir ist es schon häufiger vorgekommen, dass ich beim Entwerfen eines Programmes auf das Prinzip einer oder gar mehrerer Manager-Klassen zurückgegriffen habe, also Klassen, die quasi den Gesamtablauf eines Programmes gesteuert haben. Häufig ist es so, dass diese Klasse Teile der OOP-Prinzipien verletzen oder aber sie mir einfach nicht sauber programmiert vorkommen.<br />
Daher mal die Frage, ob man dieses Vorgehen auch umgehen kann? Gibt es da Prinzipien nach denen man sich richten kann?</p>
<p>Ich habe auch mal ein Buch gefunden, dass versucht einem diesen Gebrauch von Manager-Klassen abzugewöhnen, da sie schlicht nicht sauber sind, dummerweise habe ich das Buch nicht gekauft und weiß auch nicht mehr welches das war. Auch habe ich kein konkretes Beispiel, hoffe aber dennoch dass ihr wißt was ich meine . sorry falls der thread etwas abstrakt ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Gruß<br />
der Ultra_Manager</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219048</guid><dc:creator><![CDATA[Ultra_Manager]]></dc:creator><pubDate>Mon, 29 Jan 2007 10:13:38 GMT</pubDate></item><item><title><![CDATA[Reply to Manager Klassen on Mon, 29 Jan 2007 11:46:21 GMT]]></title><description><![CDATA[<p>Unter &quot;Manager Klasse&quot; kann ziemlich vieles fallen. Ohne konkrete Anwendung kann man da schwer Tipps geben. Und von den &quot;Prinzipien&quot;, die du erwähnst, ja die gibt es. Man spricht hier von &quot;Design Patterns&quot;. Da gibt es für praktisch jedes Szenario etwas. Für deinen Fall könnte uU das State Pattern etwas sein. Aber auch die anderen solltest du dir mal anschauen.</p>
<p>Eine gute Übersicht findest du <a href="http://home.earthlink.net/~huston2/dp/patterns.html" rel="nofollow">hier</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219103</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Mon, 29 Jan 2007 11:46:21 GMT</pubDate></item><item><title><![CDATA[Reply to Manager Klassen on Mon, 29 Jan 2007 12:32:34 GMT]]></title><description><![CDATA[<p>yeah, schon mal danke!</p>
<p>mmh, also falls es nicht ohne konkretes beispiel geht, mir würde da aus meinen einstiegstagen etwas einfallen. und zwar habe ich da ein pong nachgebaut, und hatte dann eine GameManager klasse, die halt alles zusammengeführt hat, also die &quot;flug&quot;bahnen des balls, die bewegung der Balken, nen RenderManager zum Render der Objekte hatte die GameManager Klasse auch drin etc.... ich glaube so ne art von klassen werden auch öfter gott-klassen o.ä. genannt, denke es sollte nun etwas klarer sein was ich meine..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219140</guid><dc:creator><![CDATA[Ultra_Manager]]></dc:creator><pubDate>Mon, 29 Jan 2007 12:32:34 GMT</pubDate></item><item><title><![CDATA[Reply to Manager Klassen on Mon, 29 Jan 2007 12:45:15 GMT]]></title><description><![CDATA[<p>Ultra_Manager schrieb:</p>
<blockquote>
<p>yeah, schon mal danke!</p>
<p>mmh, also falls es nicht ohne konkretes beispiel geht, mir würde da aus meinen einstiegstagen etwas einfallen. und zwar habe ich da ein pong nachgebaut, und hatte dann eine GameManager klasse, die halt alles zusammengeführt hat, also die &quot;flug&quot;bahnen des balls, die bewegung der Balken, nen RenderManager zum Render der Objekte hatte die GameManager Klasse auch drin etc.... ich glaube so ne art von klassen werden auch öfter gott-klassen o.ä. genannt, denke es sollte nun etwas klarer sein was ich meine..</p>
</blockquote>
<p>Also eine Klasse die alles organisiert gibt es sowieso. Aber die einzelnen Objekte sollten schon das können, was sie können müssen. Z.B.:</p>
<pre><code class="language-cpp">abstract class Object
{
    private position;

    public getPosition() { return position; }
    public abstract void render(Screen);
    public abstract void berechnen();
}

class Ball extends Object
{
    public void render(Screen);
    public void berechnen();
}

class Schläger extends Object
{
    public void render(Screen);
    public void berechnen();
}

class Game
{
    private List objecte;

    public void render(Screen)
    {
         forall object in objecte 
             object.berechnen();
             object.render(screen);
    }
}
</code></pre>
<p>Die Manager-Klasse delegiert dann die Aufgaben an die einzelnen Objekte und sie zeichnen sich z.B. selbst auf dem Monitor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219148</guid><dc:creator><![CDATA[DEvent]]></dc:creator><pubDate>Mon, 29 Jan 2007 12:45:15 GMT</pubDate></item><item><title><![CDATA[Reply to Manager Klassen on Mon, 29 Jan 2007 13:27:34 GMT]]></title><description><![CDATA[<p>ja, genau so wars bei mir bisher immer. nun aber die frage ob man da auch drum rumkommt. ich habe halt schon öfter gehört dass das nicht sauber und etwas ungewöhnlich ist, bzw es andere techniken und ansätze gibt. falls da einer was zu weiß wär ich dankbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219176</guid><dc:creator><![CDATA[Ultra_Manager]]></dc:creator><pubDate>Mon, 29 Jan 2007 13:27:34 GMT</pubDate></item><item><title><![CDATA[Reply to Manager Klassen on Mon, 29 Jan 2007 18:41:20 GMT]]></title><description><![CDATA[<p>Also prinzipiell wüsste ich nicht, was daran &quot;unsauber&quot; sein sollte. Es gibt einfach sehr häufig übergeordnete Aufgaben, die müssen ja irgendwo hin. Ich finds grundsätzlich &quot;sauber&quot;, wenn etwaige Manager Klassen existieren mit einer Schnittstelle, um ein bestimmtes Teilsystem darüber zu steuern. Zumal Du andere Teilsysteme dann einfach über die Manager-Klasse darauf zugreifen können, ohne sonstige Details zu kennen (siehe Facade Pattern).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219349</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219349</guid><dc:creator><![CDATA[byto]]></dc:creator><pubDate>Mon, 29 Jan 2007 18:41:20 GMT</pubDate></item></channel></rss>