Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

11

10.07.2012, 18:44

Ich kannte den Pattern bis gerade eben nicht und ich würde mal sagen, dass ich damit gerade ein neues Antipattern entdeckt hab...

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

12

10.07.2012, 18:45

Das war nicht unbedingt eine Empfehlung, auch wenn ich es in bestimmten Situationen ganz praktisch finde.
Er sprach von einem "NoPlayer" Objekt und ich wollte ihm zeigen was er vermutlich gesehen hat.

Jo, das is ja auch ok. Aber der Nutzen so eines Patterns sollte halt auch mal kritisert werden, da er ja ein Anfänger ist und am Ende unübliches Zeug verwendet.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

13

10.07.2012, 18:47

Klar, jedes Pattern ist in manchen Situationen ziemlich bescheiden. Man muss halt wissen wann man dieses Werkzeug sinnvoll einsetzen kann. In diesem Fall ist es natürlich fehl ab Platz.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

14

10.07.2012, 18:48

Hast du denn ein Beispiel, wo man es sinnvoll einsetzen kann? Mir fallen sogar für Singleton mehr Beispiele ein, wo man zumindest drüber diskutieren kann, als für so ein Null Object.

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

15

10.07.2012, 18:54

Ich stimme BlueCobold und Dot zu.
Auch ich kannte das Pattern bisher nicht.

Ich denke, mehr oder weniger unbewusst hat es wohl jeder schonmal verwendet.
Aber das Null-Objekt-Pattern erscheint mir sowohl für das Ausgangsproblem des Threaderstellers als auch als allgemeine "Programmierdevise" als ziemlich ungeeignet.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

16

10.07.2012, 18:56

Hab ich.
Ich habe vor kurzem ein "Tasksystem" für mein Aufbauspiel geschrieben. Dafür habe ich eine abstrakte Basisklasse Task und z.B. eine Ableitung für eine Bewegung zur Position x|y.
Die Basisklasse verfügt über eine abstrakte Methode "update(Unit &unit)" in der die Einheit z.B. bewegt werden kann.

Wenn die Einheit angekommen ist bleibt sie normalerweise dort stehen wo sie ist. Anstatt den Task freizugeben und den Zeiger mit nullptr zu überschreiben startet sie einen anderen Task, den ich Idle genannt habe. Der Idle-Task hat die Aufgabe nichts zu machen. Das spart mir einige Verzweigungen, die den Code unnötig komplex machen würden.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

17

10.07.2012, 19:00

Gut ok, an sowas hab ich jetzt bei "null object" nicht gedacht. Aber um ungültige Return Values anzuzeigen, ist sowas sicherlich absolut fehl am Platz. Aber da sind wir uns wohl eh einig.

Werbeanzeige