설계
[런타임시 기능] 특징 : 특성상 상시 runtime으로 돌아가는 프로그램이 아님, rumtime시 현황확인만 가능
- 유형별로 못 푼 문제 보기
- 어떻게 볼지?
- 리스트로
- 유형별로 문제제목 리스트
- 총 푼 문제, 총 못푼 문제 _전체&유형별
- 핵심 기능 : 문제 클래스를 작성만해도(상속만구현해도), 자동으로 등록되어 관리 가능
- MVC로 핵심비즈니스 계층 부터(추후 GUI로 변경가능)
- 문제 유형별 패키지로 관리
- 문제 정보 : 유형, 이름, 번호
- 유형은 상속or인터페이스로 관리?
- 관리 툴에 넣는 방법 문제 클래스 <- 유형 클래스 : DI로 생성시 넣기 클래스를 만들고, Problem상속만하면 등록
- 성공 실패 여부 스레드를 만들고 돌려서 통과시 성공, exception 유발시 실패 로 하려했으나(프로그래머스와 유사하게),
- 프로그래머스와 입력방식이 너무 달라서 ex) 코드(반복문등 포함) 중간중간에 readLine이 있어서
- 그냥 원래 백준 풀듯이 psvm에서 바로 돌려보고 바로 success false 지정하는게 자연스럽고 편함 따라서 위 2번 방법으로 구현
[필요한 것]
- StatusManager(현황Manager)
- 문제 클래스
- 유형 클래스?인터페이스?
-
직접 들어갈지, 넣어주는 툴을 만들지
-
왜 문제타입을 상속에도 넣고, 데이터멤버에도 넣었냐
- Problem을 상속받는데, 어떤 문제인지도 분류가 되어야할 것같아서 (그외의 의미는 없음)
- 문제유형을 일일이 리플렉션으로 확인하긴 비효율적이니까 데이터멤버에 추가(대신 데이터멤버에 리플렉션으로 자동설정해줌)
- 각 문제는 싱글톤으로 생성 X, 프로그램 목적이 문제풀이코드 작성하고 관리하는건데 귀찮으니까