Który z tych wzorów jest lepszy? Jakie są zalety i wady każdego z nich? Którego byś użył? Doceniamy wszelkie inne sugestie dotyczące tego, jak radzić sobie z takimi metodami.
Można założyć, że Draw () jest jedynym miejscem, z którego wywoływane są inne metody rysowania. Trzeba to rozszerzyć na wiele innych metod Draw * i Show *, a nie tylko na trzy pokazane tutaj.
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.
}
Lub
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.
}