MVC 패턴

이은지·2023년 11월 17일
0

개념

목록 보기
7/8

회사에서 MVC패턴을 활용한 관리자 페이지를 리뉴얼하는 프로젝트에 참여하게 되어서 공부할 겸 개념을 알아보고 정리하려고 글을 작성한다.

MVC 패턴이란?

MVC(model-view-controller)는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴
출처 : MVC MDN 문서(https://developer.mozilla.org/ko/docs/Glossary/MVC)

  1. Model : 데이터와 비즈니스 로직을 관리
  • 모델은 앱이 포함해야할 데이터가 무엇인지를 정의.
  • 데이터의 상태가 변경되면, 모델을 일반적으로 뷰에게 알리거나 가끔 컨트롤러에게 알리기도 한다.
  • 관리자 페이지에서는 db의 테이블을 가져오는 쿼리문을 작성한다.
  1. View : 레이아웃과 화면 처리
  • 앱의 데이터를 보여주는 방식을 정의
  • 관리자 페이지에서는 jsp로 작성하며 html, css(부트스트랩), jquery, java 코드를 다같이 사용한다.
  1. Controller : 모델과 뷰로 명령을 전달
  • 앱이 사용자로부터의 입력에 대한 응답으로 모델 및/또는 뷰를 업데이트하는 로직을 포함
  • 관리자 페이지에서는 데이터를 수정, 삭제, 등록하는 기능로직을 작성한다.

진행하고 있는 관리자 페이지의 전체 구조는 다음과 같다
Spring boot

db의 코드관리 부분을 맡았고 각 파일에 대한 간단한 설명이다.

파일설명

[CodeController.java]

  • 역할 : 클라이언트의 HTTP요청을 처리하고 비즈니스 로직을 호출한다
  • 종속성 : CodeService 및 ClCodeService를 사용하여 비즈니스 로직을 처리
  • 주요 메서드
    - codeList: 공통코드 목록 조회를 담당하는 메서드
    - codeListAjax: Ajax를 통한 공통코드 목록 조회 메서드
    - codeView: 공통코드 상세 조회를 담당하는 메서드
    - codeCreate: 공통코드 등록 페이지로 이동하는 메서드
    - codeCreateProcess: 공통코드를 등록하는 메서드
    - codeModify: 공통코드 수정 페이지로 이동하는 메서드
    - codeModifyProcess: 공통코드를 수정하는 메서드

[CodeService.java]

  • 역할 : 비즈니스 로직을 정의하는 인터페이셔, 실제 비즈니스 로직은 이를 구현한 클래스에서 수행됨
  • 종속성 : CodeService는 CodeDAO를 사용하여 데이터베이스와 상호작용
  • 주요 메서드
    - getCodeList: 공통코드 목록을 조회하는 메서드
    • getCode: 공통코드를 조회하는 메서드
    • createCode: 공통코드를 등록하는 메서드
    • modifyCode: 공통코드를 수정하는 메서드
    • getCodeListTotCnt: 공통코드 목록의 총 갯수를 조회하는 메서드

[CodeDAO.java]

  • 역할 : 데이터베이스와의 상호 작용을 구현한 DAO 클래스로, 실제 SQL 쿼리를 수행
  • 종속성 : CodeDAO는 MyBatis의 SqlSessionTemplate을 사용하여 데이터베이스에 접근
  • 주요 메서드
    - selectCodeList: 통코드 목록을 조회하는 메서드
    • selectCode: 공통코드를 조회하는 메서드
    • insertCode: 공통코드를 등록하는 메서드
    • updateCode: 공통코드를 수정하는 메서드
    • selectCodeListTodCnt: 공통코드 목록의 총 갯수를 조회하는 메서드

[CodeServiceImpl.java]

  • 역할: CodeService 인터페이스를 구현한 클래스로, 비즈니스 로직을 실제로 처리
  • 종속성: CodeServiceImpl은 CodeDAO를 사용하여 데이터베이스와 상호 작용

[sqlmap-mysql-code.xml]

  • 역할: MyBatis SQL mapper파일로 SQL을 정의하고 매핑
  • 종속성: CodeDAO에서 이 파일에 정의된 쿼리를 호출하여 데이터베이스와 상호 작용

0개의 댓글