Unity 3D Builder (Будівельник)

2075 / Unity / 2D / 3D / Шаблони / Будівельник (Builder)

 

Коли в конструкторі забагато параметрів і легко пропустити якийсь з них

 


 

Версія 1

PlaneData planeData;

private void Start()
{
  new PlaneData("SkyUp", "KBP", "WAW", "1h30m", "Antonov D","Vadym V", 8, "Boing 777", 892f, 13650, 150.9f);
  PlaneFlight flight = new PlaneFlight("SkyUp", "KBP", "WAW", "1h30m");
  PlanePersonnel personnel = new PlanePersonnel("Antonov D", "Vadym V", 8);
  PlaneMechanism mechanism = new PlaneMechanism("Boing 777", 892f, 13650, 150.9f);
  planeData = new PlaneData(flight, personnel, mechanism);
}

 

 

Plane PlaneData
PlaneFlight PlanePersonnel PlaneMechanism

 

 


 

Версія 2

Довільний порядок возову функцій

Builder.Create().WithTime(2f).WithAmplitude(3f).Show();

 


 
public class Builder
{
  float time;
  float amplitude;

  private Builder()
  {
    time = 1f;
    amplitude = 1f;
  }

  public static Builder Create()
  {
    return new Builder();
  }

  public Builder WithTime(float time)
  {
    this.time = time;
    return this;
  }

  public Builder WithAmplitude(float amplitude)
  {
    this.amplitude = amplitude;
    return this;
  }

  public void Show()
  {
    Debug.Log("Time " + time + ", Amplitude " + amplitude);
  }
}