MVC, Spring 3 Layer

김윤서·2024년 8월 22일
0

1. Model (모델)

  • 역할: 데이터와 비즈니스 로직을 다룹니다.
  • 쉽게 설명: 모델은 애플리케이션이 관리해야 하는 정보나 데이터를 의미합니다. 예를 들어, 사용자의 정보(이름, 나이, 주소 등)를 저장하거나 데이터베이스에서 가져오는 작업을 담당합니다.
  • 예시: 사용자가 스케줄 일정을 생성 하면 이를 생성하고 저장하는 역할을 수행하는 역할을 합니다.

2. View (뷰)

  • 역할: 사용자가 보게 될 화면을 담당합니다.
  • 쉽게 설명: 뷰는 데이터를 시각적으로 표현하는 부분입니다. 화면에 출력될 내용(HTML, 텍스트 등)을 만들고, 사용자에게 보여주는 역할을 합니다.
  • 예시: 사용자가 스케줄 일정을 생성하는데 성공하면 "스케줄 생성 성공"이라는 메시지를 화면에 보여주는 것이 뷰의 역할입니다.

3. Controller (컨트롤러)

  • 역할: 모델과 뷰를 연결하는 다리 역할을 합니다.
  • 쉽게 설명: 컨트롤러는 사용자의 요청을 받아서, 그 요청을 처리하고, 결과를 뷰에 전달해 화면에 나타나게 하는 역할을 합니다.
  • 예시: 사용자가 스케줄 일정을 요청을 하면, 컨트롤러는 그 요청을 받아 모델에게 전달해주고 모델에서 작업이 마무리되면 뷰에게 전달하는 역할을 합니다.

Spring 3 Layer

1. Presentation Layer (프레젠테이션 레이어) Controller

  • 역할: 사용자가 입력한 데이터의 형식이나 간단한 유효성 검사를 수행합니다. 예를 들어, 입력 필드가 빈 값인지, 숫자 필드에 숫자가 들어왔는지, 이메일 형식이 올바른지 등을 검증합니다.
  • 쉬운 설명 :
    • 사용자가 입력한 요청이 유요한 요청인지 검사하고 필터링 하는 역할
    • 사용자에게 요청을 받고, 데이터를 전달하는 역할
  • 구성 요소:
    • Controller: Spring MVC의 @Controller 또는 @RestController

2. Service Layer (서비스 레이어) Service

  • 역할: 비즈니스 로직을 처리하는 핵심 레이어입니다. Presentation Layer와 Data Access Layer 사이에서 중간 역할을 합니다. Presentation Layer의 요청을 받아 필요한 데이터를 가공하거나 로직을 실행하여 결과를 반환합니다.
  • 쉬운 설명 :
    • 사용자가 요청한 요구사항이 실질적으로 처리하는 역할
  • 구성 요소:
    • Service: @Service 어노테이션으로 표시된 클래스

3. Data Access Layer (데이터 접근 레이어) Repository

  • 역할: 데이터베이스와 상호작용하며, 데이터를 저장, 검색, 업데이트, 삭제하는 역할을 합니다. 비즈니스 로직에서 데이터를 필요로 할 때 이 레이어를 통해 데이터를 처리합니다.
  • 쉬운 설명 :
    • 스프링에서 데이터 베이스의 데이터를 처리하는 역할
  • 구성 요소:
    • Repository : @Repository 어노테이션으로 표시된 클래스들이 여기에 속하며, JPA, Hibernate, MyBatis 등과 같은 ORM(Object-Relational Mapping) 프레임워크를 사용해 데이터베이스와 상호작용합니다.
    • Entity: 데이터베이스 테이블과 매핑되는 도메인 객체로, 데이터베이스에서 가져오거나 저장할 데이터를 캡슐화합니다.

0개의 댓글