1. 데이터 참조 문제 (싱글톤)
배경
키오스크에서 메뉴 데이터를 주고 받으며 사용자에게 보여주기 위한 UI 구성 중 다른 클래스의 데이터를
가져오지 못 하는 상황이 생겼다
발단
이미 다른 클래스의 인스턴스를 생성해서 쓰고 있었는데 다시 생성해서 사용할려해서 다른 주소 값을
바라보고 있어서 생긴 문제 였다
전개
데이터 제공하는 클래스를 싱글톤으로 구현하여 프로그램에서 한 개의 인스턴스만 사용해서 같은 공간
공유하게 했다
결말
해결은 했지만 그렇게 꼭 필요한 기능은 아니였어서 공부한셈 하고 다시 예전으로 돌아갔다
2. 프로젝트 리팩토링
배경
하드 코딩 부분도 많고 지저분해서 가독성을 높이기위해 키오스크는 사용자에게 입력 받고 입력받은 값에 대한 리턴값을 출력하는 구조라 코드를 최대한 재활용해서 리팩토링 하고자 여러 아이디어를 새웠다
발단
구현하고자 하는 키오스크가 cli로 페이지 이동 없이 같은 자리에서 입력받고 출력 간단한 선택 분기가 있는 형식이였다
1번 방법으로 각 분기마다 key를 설정하고 이동하면 키 값으로 뿌려줄 데이터 , 입력가능 범위 등을 설정하며
Map에서 key값으로 데이터 가져와 화면에 선택지를 출력하는 식 이다
2번 방법은 2차원 배열을 설정해 각 선택한 분기에 대해 미리 값을 다 넣고 사용자가 입력하면 출력해주는 식이다
전개
1번은 키 관리 하는 enum을 만들어 진행했다
2번은
이동만 체크위해 리스트 2개를 선언하고 간단하게 짜고 테스트했다
위기
두 방법다 데이터를 뿌려주기 위해서 가공하거나 한 메소드에서 값을 출력하기 위해 진행하다보니
결국은 코드가 길어지고 데이터를 가공하는 과정도 지저분해서 리팩토링 하는 의미가 없어 보였다
결말
결국 두 방법다 패기하고 기존 방식을 stream 활용해 줄이는 식으로 했다 진행하며 초반 기초 설계부분이 중요함을
느꼈고 그래도 현실과 타협해 아이디어를 끝까지 못한것에 아쉬움이 크지만 공부에는 도움됐으니 이정도로 만족했다