Welches dieser Designs ist besser? Was sind die Vor- und Nachteile von jedem? Welches würdest du verwenden? Alle anderen Vorschläge, wie mit Methoden umgegangen werden soll, sind willkommen.
Es ist vernünftig anzunehmen, dass Draw () der einzige Ort ist, von dem aus die anderen Zeichenmethoden aufgerufen werden. Dies muss um viele weitere Draw * -Methoden und Show * -Eigenschaften erweitert werden, nicht nur um die drei hier gezeigten.
public void Draw()
{
if (ShowAxis)
{
DrawAxis();
}
if (ShowLegend)
{
DrawLegend();
}
if (ShowPoints && Points.Count > 0)
{
DrawPoints();
}
}
private void DrawAxis()
{
// Draw things.
}
private void DrawLegend()
{
// Draw things.
}
private void DrawPoints()
{
// Draw things.
}
Oder
public void Draw()
{
DrawAxis();
DrawLegend();
DrawPoints();
}
private void DrawAxis()
{
if (!ShowAxis)
{
return;
}
// Draw things.
}
private void DrawLegend()
{
if (!ShowLegend)
{
return;
}
// Draw things.
}
private void DrawPoints()
{
if (!ShowPoints || Points.Count <= 0))
{
return;
}
// Draw things.
}