【C#】ビルダーパターンのサンプル

C#でビルダーパターンのサンプルコードを示します。以下の例では、Personオブジェクトを作成するためにビルダーパターンを使用しています

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
    public string Address { get; set; }
}

public class PersonBuilder
{
    private readonly Person _person;

    public PersonBuilder()
    {
        _person = new Person();
    }

    public PersonBuilder WithFirstName(string firstName)
    {
        _person.FirstName = firstName;
        return this;
    }

    public PersonBuilder WithLastName(string lastName)
    {
        _person.LastName = lastName;
        return this;
    }

    public PersonBuilder WithAge(int age)
    {
        _person.Age = age;
        return this;
    }

    public PersonBuilder WithAddress(string address)
    {
        _person.Address = address;
        return this;
    }

    public Person Build()
    {
        return _person;
    }
}

上記のコードでは、Personオブジェクトを作成するためにPersonBuilderクラスを使用しています。PersonBuilderクラスは、Personオブジェクトの構築に必要な各フィールドにアクセスするためのメソッドを提供します。各メソッドは、自身を返すために「return this;」を使用しているため、メソッドチェーンを使用してPersonオブジェクトを構築することができます。

例えば、次のようにしてPersonオブジェクトを作成することができます。

Person person = new PersonBuilder()
    .WithFirstName("John")
    .WithLastName("Doe")
    .WithAge(30)
    .WithAddress("123 Main St.")
    .Build();

上記のコードは、PersonBuilderクラスを使用してPersonオブジェクトを構築し、それを変数personに代入しています。Build()メソッドは、Personオブジェクトを返すために使用されます。