AllInOneController?
Service, Repository 없이 Controller 한 개로도 잘 작동하는 코드.
웹서비스 구성도
관심상품 등록 API
관심상품 조회
관심상품 최저가 업데이트 API
이런 것을 봤을때,
ALLInOneController의 한계점은
- 한 개의 클래스에 너무 많은 양의 코드가 존재한다.
a. 코드 이해가 어려움: 처음부터 끝까지 다 읽어야 코드 내용을 이해할 수 있다.
- 현업에서 코드 추가 or 변경 요청이 계속 생김
절자적 프로그래밍 vs 객체지향 프로그래밍
절차적 프로그래밍
- 초기 프로그래밍 방식
- 컴퓨터가 해야할 일들을 순차적으로 나열해 놓은 코딩 방식
- AllInOneController 클래스의 각 API 처리내용
객체지향 프로그래밍
- 소프트웨어의 규모가 점점 커지면서 필요성이 부각.
- 대부분의 사람들은 한번에 여러가지 다른 생각을 못함
- 하나의 사물(객체)에 하나의 의미를 부여하는 프로그래밍 방식이 시작
추천 프로그래밍 방식
1. 처음엔 절차적 프로그래밍
2. 객체지향 프로그래밍으로 리팩토링
리팩토링? - 기능 상의 변경 없이 프로그래밍 구조 개선
1) 하나의 파일에 너무 많은 코드 x
2) 역할별로 코드 분리
3) 코드를 읽기 쉽게