<일기>
어제 전기장판 깔고 뜨듯하게 잤더니 열이랑 어지럼증은 좀 나아졌는데 목넘김은 어젼히 그대로였다. 아침밥을 케찹계란밥 해 먹으려고 했는데 밥알은 절대 못 넘길 것 같아서 계란찜 만들어 먹었다. 근데 약 먹으니 점점 나아져서 점심 전부턴 꽤 나아져서 밖에서 김밥 사먹고 왔다. 지금은 조금 남긴 했는데 내일 점심 즈음에 다 낫지 않을까 싶다.
내일 코테인데 아파가지고 준비 못했으니 기대도 안 되고, 코테 끝나자마자 바로 사랑니 실밥 풀러 가야해서 바쁘다 하하,,
</일기>
자바 키오스크 개인 과제 제출을 했다.
어젯밤에 자면서 어? 데코레이터 패턴 쓰면 되려나? 하고 번뜩 떠올라서 메모해놓고 오늘 일어나자마자 작업 시작했다. 그리고 팩토리 패턴, 커맨드 패턴도 써봤다. 잘 썼는지, 맞게 썼는지도 모르겠지만.
논리는 이렇다.
- 파랑 : 출력
- 초록 : 입력
- 노랑 : 분기
- 보라 : 처리
로 순서도를 구성했었는데, 생각해보디 다음과 같은 공통점을 발견할 수 있었다.
입력 전에 항상 출력이 있다..! 이걸 묶어버려야겠다고 생각했다. 각 케이스마다 다른 출력에 입력을 받으니, 입력을 감싸는 데코레이터 패턴을 이용해보면 어떨까~ 해서 만들었다. 그러다보니 매번 동일한 부분을 계속 생성해서 만들다 보니 이를 팩토리 패턴으로 공통부분은 팩토리 내에 넣고 각 케이스에 따라 팩토리에서 가져올 수 있도록 했다.
그다음을 보고 나니 왼쪽의 각 분기문마다 실행하는 로직이 있고, 로직이 끝나면 다시 처음으로 돌아가는데, 이 로직을 또 한번 묶어서 커맨드 패턴을 써버리면 어떨까~ 해서 파란색으로 묶어봤다.
마지막으로 각 분기문을 따라 돌리는 건 어떻게 할지 고민을 해봤는데, 모르겠어서 if else if 남발 하긴 했는데, 뭘 써야하지? 책임의 사슬..? 상태? 모르겠어서 그냥 제출하고 리뷰받고 다시 고쳐보기로 했다.
확실히 플로우 차트를 보니 어떻게 묶어갈지 시각적으로 보이니 좋은 것 같다.
다만, 처음 클래스 다이어그램에 그렸던 메뉴선택 처리기, 주문 처리기 등등은 없어져버렸다. 나름 객체지향의 사실과 오해 책 보면서 상상하던 것과 영 다르게 되어버렸다. 위에 처럼 패턴으로 덕지덕지 붙인게 옳은 건지도 모르겠다. 다만 과제 해설을 기다릴 뿐.
'TIL ✍️' 카테고리의 다른 글
23년 10월 24일(화요일) - 16번째 TIL (1) | 2023.10.24 |
---|---|
23년 10월 23일(월요일) - 15번째 TIL (2) | 2023.10.23 |
23년 10월 19일(목요일) - 13번째 TIL (0) | 2023.10.19 |
23년 10월 18일(수요일) - 12번째 TIL (2) | 2023.10.18 |
23년 10월 17일(화요일) - 11번째 TIL (0) | 2023.10.18 |