public class PostId: DbId { public PostId(int id): base(id) { } } public class TopicId: DbId {
→ 같은 타입에 새로운 변화를 주기 위해 상속을 사용한다.
public TopicId(int id) : base(id) { }
}
public class UserId: DbId { → 같은 타입에 새로운 변화를 주기 위해 상속을 사용한다.
public UserId(int id): base(id) { }
}
DbId 타입에서 용도별로 파생된 타입(예를 들어 PostId, UserId, TopicId)을 함께 사용한다면 설계의 구성 요소마다 다양한 용도에 따라 코드상에서 타입 간의 차이를 더 쉽게 구분할 수 있다. 또한, 함수에 잘못된 타입의 식별자를 전달하는 것을 방지할 수 있다.