[실습으로 다지는 C#] 19.택배 요금 계산 시뮬레이션

 이번 강의에서는 택배 요금을 계산하는 시뮬레이션을 만들어 봅시다.

 

택배 시뮬레이션 클래스 다이어그램

 City, Parcel, Application 세 개의 클래스로 구성하고 있습니다.

 City 클래스는 도시 이름과 (기준 도시에서) 상대적 거리를 멤버로 갖습니다.  그리고 다른 도시와의 거리를 계산하는 메서드를 제공합니다.

 Parcel 클래스는 기준 요금과 무게를 멤버로 갖고 요금을 계산하는 메서드를 제공합니다.

 Application은 택배 시스템 시뮬레이션으로 하나의 개체만 허용하는 단일체 패턴을 적용할게요. 

 단일체로 표현하기 위해 정적 멤버로 단일체를 참조하는 멤버 필드를 추가합니다. 그리고 정적 생성자에서 단일체를 생성합니다.  정적 생성자는 해당 형식을 사용하기 전에 동작하는 것을 보장하며 한 번만 동작합니다. 단일체를 생성하기 적합한 곳이죠. 그리고 생성자를 정의하세요. 단, 접근 지정은 디폴트 가시성을 갖는 private으로 지정하세요.

 아래 코드는 단일체를 표현한 코드 예입니다.