Яка з цих конструкцій краща? Які плюси і мінуси у кожного? Який би ви використовували? Будь-які вдячні пропозиції щодо способів поводження з подібними методами.
Доцільно припустити, що Draw () - єдине місце, з якого викликаються інші методи малювання. Це потрібно розширити на багато інших методів Draw * та Show *, а не лише на три, показані тут.
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.
}
Або
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.
}