hab mal ne kurze Designfrage bezüglich OOP, ich will Packete aus einem Stream lesen und frage mich gerade welcher von beiden Ansätzen OOP-technisch der bessere wäre:
Variante 1:
Variante 2:
würde mich eigentlich für Variante 1 entscheiden da es ein Packet nicht geben kann ohne dies aus dem Stream gelesen zu haben, oder denke ich da falsch?
Variante 1:
Code:
public class Packet
{
private Packet() { }
public static Packet ReadFromStream(Stream stream)
{
// Packet aus Stream lesen
}
}
//Aufruf
Packet packet = Packet.ReadFromStream(stream);
Variante 2:
Code:
public class Packet
{
public Packet() { }
public void ReadFromStream(Stream stream)
{
// Packet aus Stream lesen
}
}
//Aufruf
Packet packet = new Packet();
packet.ReadFromStream(stream);
würde mich eigentlich für Variante 1 entscheiden da es ein Packet nicht geben kann ohne dies aus dem Stream gelesen zu haben, oder denke ich da falsch?