1. 구현하며 고민한 부분
•
IllegalArgumentException을 상속받으면 좋은 점.
◦
CalendarException은 런타임 예외인 IllegalArgumentException의 특성을 가지게 되며,
◦
Java에서는 이러한 예외를 명시적으로 처리하지 않아도 됨
◦
즉, throws 절을 사용하지 않아도 되며, try-catch 블록을 사용하지 않아도 됨
// CalendarException.java
public class CalendarException extends IllegalArgumentException {
public static final String INVALID_DATE_MESSAGE = "[ERROR] 유효하지 않은 날짜입니다. 다시 입력해 주세요.";
public CalendarException() {
super(INVALID_DATE_MESSAGE);
}
public static class InvalidDateException extends CalendarException {}
public static class PastDateException extends CalendarException {}
public static class NonNumericDateException extends CalendarException {}
public static class DateOutOfRangeException extends CalendarException {}
}
// MenuException.java
public class MenuException extends IllegalArgumentException {
public static final String INVALID_ORDER_MESSAGE = "[ERROR] 유효하지 않은 주문입니다. 다시 입력해 주세요.";
public MenuException() {
super(INVALID_ORDER_MESSAGE);
}
...
}
Java
복사
•
가장 핵심적인 기능부터 만드라고 코수타에서 들었다.
◦
이를 mvp를 만드란 뜻으로 이해했는데, 그렇다면 model을 만드는 게 먼저일까? view를 만드는 게 먼저일까?
◦
처음엔 당연히 model을 먼저 만드는 거라 생각했다. 하지만, 이는 관점에 따라 달라질 수 있단걸 설계를 해가며 느꼈다
◦
그 이유는, 누군가는 핵심적인 기능을 사용자와 상호작용하는 것이라 생각할 수도 있기에 어쩌면 view를 먼저 만드는 게 옳다 생각할 수도 있기 떄문이다.
◦
물론, 나는 다시금 model을 먼저 만드는 게 이번 과제에서의 핵심 기능에 더 걸맞는다 생각했다
◦
그 이유는, model이 없으면 view와 controller가 처리할 데이터가 없기 때문이다.
◦
따라서 나는 model > view > controller 순으로 구현하였다.
•
view에서 모델을 만들어 반환해도 될까? 난 안된다 생각
Today in 프리코스
TIL 작성하기
몰입
설계 보완하기
구현하기
진짜 단전에서 우러나올 정도로 너무 재밌다,,,,, 매일매일 이런 문제만 풀고 싶다.
특히, 지난 3주간 연마해온 설계 실력을 100% 발휘한 느낌이다.
내가 설계하고도 스스로 감탄 중이다. ㅎㅎ 그만큼 뿌듯하단 소리다~
Search