Was ist ein Orchestrator?

Für Fragen von Einsteigern und Programmieranfängern...

Was ist ein Orchestrator?

Beitragvon Minits » 8. Nov 2017, 17:38 Was ist ein Orchestrator?

Guten Abend,

das ist auch schon die Frage: Was ist ein Orchestrator und wofür braucht man ihn? Leider kann ich keine näheren Angaben zur Verwendung angeben, da ich eben nichts darüber weiß.
Unten füge ich einfach mal den Ausschnitt des betreffenden Codes an, den ich gerne verstehen möchte. Inwiefern dieser hilfreich ist, weiß ich leider nicht. Aber vielleicht
kann mir ja jemand eine allgemeine Erklärung von Orchestratoren geben, da ich leider nichts hilfreiches im Internet dazu gefunden habe.
PS: Es handelt sich hierbei um ein SpaceInvaders Spiel, genauer gesagt ist es der Deklarationsteil der Unit, in welcher die Gegner(Aliens) implementiert werden.
Danke im Voraus!

Code: Alles auswählen
unit Aliens;
 
interface
 
uses
  Controls, ExtCtrls, Classes, Settings, Missiles, Graphics,
  Windows, Explosions, GR32_Image, GR32;
 
type
  TAlienSpecie = (asAlpha, asBeta, asGamma);
  TAlienDirection = (adLeft, adRight);
 
  TAlienOrchestrator = class;
 
  TAlien = class
  private
    _Frame : Integer;
    _MissileOrchestrator : TMissileOrchestrator;
    _AlienOrchestrator : TAlienOrchestrator;
    _ExplosionOrchestrator : TExplosionOrchestrator;
    _Specie : TAlienSpecie;
    procedure FlipDirection;
    procedure Descend;
    procedure _SetSpecie(const Value: TAlienSpecie);
    function GetHeight: Integer;
    function GetWidth: Integer;
  protected
    procedure Paint;
  public
    Top : Integer;
    Left : Integer;
    Visible : Boolean;
    Owner : TBitmap32;
    GraphicContext : TBitmap32;
    Picture : TBitmap32;
 
    Direction : TAlienDirection;
    constructor Create(AOwner: TBitmap32);
    destructor Destroy; override;
    property Specie : TAlienSpecie read _Specie write _SetSpecie;
    property Width : Integer read GetWidth;
    property Height : Integer read GetHeight;
    procedure UpdateMotion;
    procedure ShootMissile;
    procedure Die;
  end;
 
  TAlienMap =  Array[1..11,1..5] of TAlien;
 
  TAlienOrchestrator = class
  private
    _ThresholdCount : Integer;
    _Map2D : TAlienMap;
    _MissileOrchestrator : TMissileOrchestrator;
    _ExplosionOrchestrator : TExplosionOrchestrator;
    _AccelerateX : Double;
    _AccelerateY : Double;
    _FlipFlop : Boolean;
    _Engine : TObject;
    function GetAlienCount: Integer;
    procedure _UpdateFlipFlop;
  public
    constructor Create(Engine : TObject);
    destructor Destroy; override;
 
    property Map2D : TAlienMap read _Map2D write _Map2D;
    property MissileOrchestrator : TMissileOrchestrator read _MissileOrchestrator write _MissileOrchestrator;
    property ExplosionOrchestrator : TExplosionOrchestrator read _ExplosionOrchestrator write _ExplosionOrchestrator;
    procedure Accelerate;
    procedure Init(AOwner : TBitmap32);
    procedure Update;
    procedure Paint;
    procedure DetectAnomalies;
    property Count : Integer read GetAlienCount;
  end;
Minits
 
Beiträge: 29
Registriert: 30. Okt 2016, 21:13
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z) | 
CPU-Target: xxBit
Nach oben

Beitragvon Mathias » 8. Nov 2017, 17:57 Re: Was ist ein Orchestrator?

Was ist ein Orchestrator und wofür braucht man ihn?
Ich denke mal, in dem Spiel ist dem Programmierer kein anderer Namen eingefallen.

Wen man in Google nach Orchestrator sucht, und dann Bilder betrachtet, sieht das nach eine Vernetzung aus.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3189
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Minits » 8. Nov 2017, 19:26 Re: Was ist ein Orchestrator?

Danke für die Antwort!
Minits
 
Beiträge: 29
Registriert: 30. Okt 2016, 21:13
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z) | 
CPU-Target: xxBit
Nach oben

Beitragvon MacWomble » 8. Nov 2017, 22:43 Re: Was ist ein Orchestrator?

Ich verstehe unter Orchestrator so etwas wie eine Steuerzentrale für bestimmte Abläufe-
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
MacWomble
 
Beiträge: 363
Registriert: 17. Apr 2008, 00:59
Wohnort: Freiburg
OS, Lazarus, FPC: Mint 18.1 Cinnamon / CodeTyphon Generation V Plan 6.00 (FPC 3.1.1) | 
CPU-Target: 32/64 Nit
Nach oben

Beitragvon Socke » 10. Nov 2017, 09:02 Re: Was ist ein Orchestrator?

Es ist keines der bekannten Entwurfsmuster; als ehestes würde ich die Klassen als Vermittler/Mediator einordnen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Socke
 
Beiträge: 2385
Registriert: 22. Jul 2008, 18:27
Wohnort: Köln
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 8.1/Debian GNU/Linux/Raspbian | 
CPU-Target: 32bit x86 armhf
Nach oben

Beitragvon pluto » 11. Nov 2017, 15:39 Re: Was ist ein Orchestrator?

als ehestes würde ich die Klassen als Vermittler/Mediator einordnen.

Wenn man sich die zweite Klasse anschaut, könnte es schon eher hinkommt.
Wobei ich eher "Verwalter" sagen würde. Denn die Klasse "TAlienOrchestrator" verwaltet die "karte" in einem 2D Array.
Dann würden die anderen Klassen, die den Namen Orchestrator tragen auch einen gewissen Sinn ergeben. Wenn sie alle ähnlich aufgebaut sind.
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6476
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 17.1 Rebecca | 
Nach oben

• Themenende •

Zurück zu Einsteigerfragen



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried