Qual desses designs é melhor? Quais são os prós e os contras de cada um? Qual você usaria? Quaisquer outras sugestões de como lidar com métodos como esse são apreciadas.
É razoável supor que Draw () é o único local de onde os outros métodos de desenho são chamados. Isso precisa ser expandido para muitos outros métodos Draw * e propriedades Show *, não apenas os três mostrados aqui.
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.
}
Ou
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.
}