관심사 분리와 MVC패턴

이규훈·2022년 10월 31일
0

스프링 정리

목록 보기
4/30

관심사 분리

관심사란?

우리가 보통 main에 코드를 칠때

  1. 입력을 받고
  2. 특정 작업 계산 및 처리
  3. 처리

이런 식으로 진행하는데 이러한 1,2,3들을 각각 관심사라고 부른다. 회사로 치면 부서라고 생각하면 된다. 우리가 해야할 작업을 관심사라고 생각하면 된다. 그러면 왜 이걸 분리해야할까
OOP(객체지향설계)의 5대 설계원칙이 있다. SOLID라고 한다. 이 중 SRP가 있는데 단일책임 원칙이라고 한다.

하나의 메서드는 하나의 책임만 진다.

따라서 우리는 메서드 안에는 한 개의 책임만 있어야한다.
그래서 우리는 공통 코드를 분리해야한다.

MVC패턴

사실 이렇게 입력분리를 해도 나머지 처리와 출력도 분리해줘야한다.
분리가 되면 우리가 기존의 코드들을 수정해야한다. 왜냐면 class가 달라서 우리가 선언한 lv가 대입되지 않기때문이다. 따라서 중간에 Model이 필요하다. Model은 객체라고 생각하자.

이렇게 Model에 우리가 출력에 필요한 값들을 넣어주고 이를 이용해서 출력한다.
여기서 MVC 패턴이 나온다.

2.처리(Controller) -> Model -> 출력(View)

앞의 약자를 따서 우리는 이것을 MVC 패턴이라고 한다.
정리하면 다음과 같다.

요청 -> 입력 -> 모델 생성 -> Controller 에서 결과 모델에 결과 저장 -> 모델이 View에 뿌려줌

이는 대략적인 요약이고 제대로 된 그림은 아래와 같다. 출처를 남겨두었으니 블로그에 들어가 같이 보면 좋을 듯하다.

그림 출처: https://catsbi.oopy.io/f52511f3-1455-4a01-b8b7-f10875895d5b

매개변수 이름 얻어어기
1. refelction API 이용

-parameters 옵션넣고 컴파일 ->jdk1.8부터 가능
그전에는 classfile에서 얻어옴

  1. classfile에서 얻어오기
profile
개발취준생

0개의 댓글

관련 채용 정보