본문 바로가기
레거시

2022.02.27의 기록

by GroovyArea 2022. 2. 27.

하루 

=>  공부 관련

1) 기술 질문 정리 및 준비 (람다식, 스트림, 함수형 프로그래밍, 네트워크)

2) MVC 객체지향 리팩토링 후 제출 후 피드백 받기

3) 스프링 입문 책 읽기

 

=> 파이널 프로젝트 관련

1) UI 업무 분담 회의 (가능하면..?)

 


 문제 정리

1. 상수화의 문제

> 단순 리터럴 값은 스칼라이다. 

문제 : 어느 변수를 어떤식으로 상수화해야 할지 감이 오지 않았다. 

해결 : 변하지 않는 값, 중복되는 값을 final로 선언해서 해결하였다. (모든 원시 값과 문자열을 포장) 

view, model에서 중복되는 값을 의미를 부여하여 상수화. 하지만 여전히 반복되는 문제가 있다.

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