기록을 안 하니 복습과 정리가 어려워서 작성하는 뼈대글...😥
Section3 역할의 분리와 스프링 컨테이너
🍭17강. Clean Code는 왜 중요한가?
-
코드는 요구 사항을 표현하는 언어이다.
-
책 추천
작가: 로버트 C. 마틴
- 함수는 최대한 작게 만들고 한 가지 일만 수행하는 것이 좋다.
- 클래스는 작아야 하며 하나의 책임만을 가져야 한다.
- 하나의 함수가 코드 3000줄이 넘어가면?
- 동시에 여러 명이 수정할 수 없다.
- 그 함수를 읽고 이해하는 게 어렵다.
- 부분을 수정하면 전체에 영향을 미칠 수 있으므로 함부로 건들 수 없게 된다.
- 테스트가 힘들다
- 유지 보수성이 매우 떨어진다.
🍭18강 Controller를 3단 분리하기 - service와 Repository
- Controller의 함수 1개가 하고 있던 역할
- API의 진입 지점으로써 HTTP body를 객체로 변환하고 있다.
- 현재 유저가 있는지, 없는지 등을 확인하고 예외 처리
- SQL을 사용해 실제 DB와의 통신 담당
- Layered Architecture
🍭19강 UserController 와 스프링 컨테이너
@RestController
UserContoller 클래스를 스프링 빈으로 등록시킨다.
스프링 빈
- 서버가 시작되면 스프링 서버 내부에 거대한 컨테이너를 만든다.
- 컨테이너 안에는 클래스가 들어가게 된다. 이 때 인스터스화도 이루어진다.
- 그 들어간 클래스를 스프링 빈이라고 한다.
🍭21강. 스프링 컨테이너를 다루는 방법