▶ 하루
=> 공부 관련
1) 기술 질문 정리 및 준비 (람다식, 스트림, 함수형 프로그래밍, 네트워크)
2) MVC 객체지향 리팩토링 후 제출 후 피드백 받기
3) 스프링 입문 책 읽기
=> 파이널 프로젝트 관련
1) UI 업무 분담 회의 (가능하면..?)
▶ 문제 정리
1. 상수화의 문제
> 단순 리터럴 값은 스칼라이다.
문제 : 어느 변수를 어떤식으로 상수화해야 할지 감이 오지 않았다.
해결 : 변하지 않는 값, 중복되는 값을 final로 선언해서 해결하였다. (모든 원시 값과 문자열을 포장)
2. 컴퓨터와 사용자 객체의 분리
> 모든 엔티티를 작게 유지해야한다
문제 : 객체의 속성이 종류가 유지 되는 클래스를 작성했었음
해결 : 길어진다는 것은 유지보수가 어렵고 이해하기 어렵고 단일 책임 원칙을 위반한것이므로 각각의 MODEL 클래스 자체로 분리시킴
3. VIEW 부분의 분리
> 역시 이중의 역할, 입력 , 출력단으로의 분리
문제 : VIEW에서 입출력을 동시에 담당하는 부분을 분리했어야 한다.
해결 : input , output 두 가지의 view 로 책임을 세분화 시킴.
4. 값을 처리하는 것은 중복된 리터럴을 가지고 조건 제어문을 사용하는 것이 아닌 객체의 유기적인 상호작용으로 보아야 한다.
> 인터페이스, 열거타입 클래스의 필요성
문제 : 코드 상의 의미 없는 상수와 리터럴이 난무함
해결 : 세부적인 요소까지 의미있는 객체로 만들어 응집도를 높이고 캡슐화를 통하여 클린 코드를 작성하게 하기 위해 3개의 조건 모두 클래스 객체로 작성하자. 또 객체간의 규칙을 작성하기 위해 인터페이스를 상속시켜 구현시키자. enum클래스를 작성하여 해당되는 상수를 작성하고 상수가 해당될 시 리턴값의 문자열의 리터럴을 반환시키면 될듯.
▶ 파이널 프로젝트
> 권한 필요 페이지 UI 구성 완료
> 세부 페이지 업무 분담 후 오븐으로 분업 예정
> DB 설계 시작
'레거시' 카테고리의 다른 글
2022.03.03 의 기록 (0) | 2022.03.03 |
---|---|
2022.02.28의 기록 (0) | 2022.02.28 |
2022.02.25의 기록 (0) | 2022.02.25 |
2022.02.24 의 기록 (0) | 2022.02.24 |
2022.02.23의 기록 (0) | 2022.02.23 |