Vogen 라이브러리 소개 - 기본 요소 (int, decimal 등)를 도메인 개념으로 나타내는 값 객체로 표현

고객 아이디가 있다고 합시다. 고객 아이디는 int로 표현되어 있는데 소스 코드에서는 여러가지 이유 (인자 순서가 틀려서 버그 발생 등)로 CustomerId등으로 표현하고 싶을 때가 있습니다.

Vogen 라이브러리를 이용하면 다음의 방식으로 값 형태를 도메인 형태로 정의 내릴 수 있습니다.

[ValueObject<int>]
public partial struct CustomerId {
}

그러면 다음처럼 쓸 수 있게 됩니다.

CustomerId customerId = CustomerId.From(123);
SendInvoice(customerId);
...

public void SendInvoice(CustomerId customerId) { ... }

3개의 좋아요