고객 아이디가 있다고 합시다. 고객 아이디는 int
로 표현되어 있는데 소스 코드에서는 여러가지 이유 (인자 순서가 틀려서 버그 발생 등)로 CustomerId
등으로 표현하고 싶을 때가 있습니다.
Vogen 라이브러리를 이용하면 다음의 방식으로 값 형태를 도메인 형태로 정의 내릴 수 있습니다.
[ValueObject<int>]
public partial struct CustomerId {
}
그러면 다음처럼 쓸 수 있게 됩니다.
CustomerId customerId = CustomerId.From(123);
SendInvoice(customerId);
...
public void SendInvoice(CustomerId customerId) { ... }