Bu tasarımlardan hangisi daha iyi? Her birinin artıları ve eksileri nelerdir? Hangisini kullanırdınız? Gibi yöntemlerle nasıl başa çıkılacağı ile ilgili diğer öneriler takdir edilmektedir.
Diğer çizim yöntemlerinin çağrıldığı tek yer Draw () 'un olduğunu kabul etmek mantıklıdır. Bunun, yalnızca burada gösterilen üç taneye değil, daha birçok Draw * yöntemine ve Show * özelliğine genişletilmesi gerekir.
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.
}
Veya
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.
}