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

1

09.01.2015, 15:23

C# Guideline von MS?

Hi,

mir ist oft aufgefallen das MS eine Reihe an Klassen/Structs hat, die ihre eigenen Typ in einer Methode als Rückgabewert zurückgeben, kleines Beispiel:

C#-Quelltext

1
var i = XmlReader.Create(irgendwas....);



Wo ist denn der Unterschied, egal in welcher Form, zu

C#-Quelltext

1
 var d = new XmlReader(irgendwas...)


Das habe ich schon recht häufig gesehen, wäre sehr nett, wenn mir jemand dieses Konzept nahe legen würde:)


Mfg


JP

Tobiking

1x Rätselkönig

  • Private Nachricht senden

2

09.01.2015, 19:33

Das Pattern nennt sich Factory Method (Fabrikmethode). Wird üblicherweise dann verwendet wenn die Erzeugung eines Objekts komplexer ist bzw. es mehrere verschiedene Implementierungen gibt, die der Benutzer aber nicht unbedingt kennen muss.

Im Falle des XmlReader wird innerhalb der Create Methode z.B. anhand der gewählten Validierung ein Objekt einer anderen Unterklasse erzeugt.

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

3

09.01.2015, 20:03

Das nennt sich auch Named Constructor Idiom.
Prinzipiell macht auch Sinn, wenn es verschiedene Möglichkeiten gibt ein Objekt zu erstellen und(/oder) sich dessen Zweck aus dem Typen selbst schwer ableiten lässt.
Außerdem gibt es gewisse sprachliche Einschränkungen, was innerhalb eines Konstruktors möglich ist. So ist es zum Beispiel nicht möglich, eine lokale Variable in einem Konstruktor vor dem Aufruf des Chaining Konstruktors bzw. Basisklassen-Konstruktors zu deklarieren.

Werbeanzeige

Ähnliche Themen