혼자공부중
공부하는 블로그
혼자공부중
전체 방문자
오늘
어제
  • 분류 전체보기 (111)
    • 자격증 (49)
      • 정보처리기사 실기 (49)
    • JAVA (18)
    • DB (0)
    • 알고리즘 문제 풀이 (11)
      • 프로그래머스 (11)
    • Front (0)
      • HTML (0)
      • CSS (0)
      • Javascript (0)
    • 패스트캠퍼스 강의 (33)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 2022정보처리기사
  • 객체지향
  • 정보처리기사 실기
  • 변수
  • 정보처리기사 필기
  • 데이터모델
  • 데이터베이스
  • 수제비
  • 관계형데이터베이스
  • 2022정보처리기사실기
  • 애플리케이션테스트
  • 시나공
  • 프로그래머스
  • 정보처리기사 실기 정리
  • UI
  • Java
  • 정보처리기사
  • DBMS
  • 상속
  • 메소드
  • 인터페이스
  • 패스트캠퍼스 #포트폴리오 #직장인자기계발 #환급챌린지 #포트폴리오챌린지 #패스트캠퍼스후기 #초격차패키지 #오공완
  • 반복문
  • 알고리즘
  • 정보처리기사 필기 정리
  • 코딩테스트
  • SQLD
  • 배열
  • 자바
  • 2022정보처리기사필기

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
혼자공부중

공부하는 블로그

[8일차] 50일 포트폴리오 챌린지
패스트캠퍼스 강의

[8일차] 50일 포트폴리오 챌린지

2023. 8. 15. 21:30
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/43z0P6S 

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr



MVC 프레임워크

MVC 패턴

  • 모델-뷰-컨트롤러(Model-View-Controller, MVC)는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다
  • 어플리케이션을 세 개의 영역으로 분리하고 각 구성 요소에게 고유한 역할을 부여하는 개발 방식이다

Model

  • 데이터(data) 가공을 책임지는 컴포넌트(component)이다
  • 모델은 어플리케이션의 정보, 데이터를 나타낸다
  • 데이터베이스, 초기화 된 상수나 값, 변수 등을 뜻한다
  • 비즈니스 로직을 처리한 후 모델의 변경 사항을 컨트롤러와 뷰에 전달한다

View

  • 사용자에게 보여지는 부분, 즉 유저 인터페이스(User Interface)를 의미한다
  • MVC 패턴은 여러개의 뷰가 존재할 수 있으며, 모델에게 질의하여 데이터를 전달받는다
  • 뷰는 받은 데이터를 화면에 표시해주는 역할을 가지고 있다
  • 모델에게 전달받은 데이터를 별도로 저장하지 않아야 한다
  • 사용자가 화면에 표시된 내용을 변경하게 되면 모델에게 전달하여 모델을 변경해야 한다

Controller

  • 모델과 뷰 사이를 이어주는 브릿지(bridge) 역할을 의미한다
  • 모델이나 뷰는 서로의 존재를 모르고 있다. 변경 사항을 외부로 알리고 수신하는 방법만 있다. 컨트롤러는 이를 중재하기 위한 컴포넌트이다. 모델과 뷰에 대해 알고있으며 모델이나 뷰로부터 변경 내용을 통지 받으면 이를 각 구성 요소에게 통지한다. 사용자가 어플리케이션을 조작하여 발생하는 변경 이벤트들을 처리하는 역할을 수행한다

Reflection

  • 힙 영역에 로드되어 있는 클래스 타입의 객체를 통해 필드/메소드/생성자를 접근제어자와 상관없이 사용할 수 있도록 지원하는 API
  • 컴파일 시점이 아닌 런타임 시점에 동적으로 특정 클래스의 정보를 추출해낼 수 있는 프로그래밍 기법
  • 주로 프레임워크 또는 라이브러리 개발 시 사용된다

Reflection 사용하는 프레임워크/라이브러리

  • Spring 프레임워크 (ex. DI)
  • Test 프레임워크 (ex. JUnit)
  • JSON Serialization/Deserialization 라이브러리 (ex. Jackson)

프런트 컨트롤러 패턴

  • 모든 요청을 단일 handler(처리기)에서 처리하도록 하는 패턴
  • 스프링 웹 MVC 프레임워크의 DispatcherServlet(프런트 컨트롤러 역할)이 프런트 컨트롤러 패턴으로 구현되어 있음

Forward

  • 서블릿에서 클라이언트(웹 브라우저)를 거치지 않고 바로 다른 서블릿(또는 JSP)에게 요청하는 방식
  • Forward 방식은 서버 내부에서 일어나는 요청이기 때문에 HttpServletRequest, HttpServletResponse객체가 새롭게 생성되지 않음(공유됨)
RequestDispatcher dispatcher=request.getRequestDispatcher("포워드할 서블릿 또는 JSP")
dispatcher.forward(request,response)

Redirect

  • 서블릿이 클라이언트(웹 브라우저)를 다시 거쳐 다른 서블릿(또는 JSP)에게 요청하는 방식
  • Redirect 방식은 클라이언트로부터 새로운 요청이기 때문에 새로운 HttpServletRequest, HttpServletResponse 객체가 생성됨
  • HttpServletResponse 객체의 sendRedirect() 이용
저작자표시 변경금지 (새창열림)

'패스트캠퍼스 강의' 카테고리의 다른 글

[10일차] 50일 포트폴리오 챌린지  (0) 2023.08.17
[9일차] 50일 포트폴리오 챌린지  (0) 2023.08.16
[7일차] 50일 포트폴리오 챌린지  (0) 2023.08.14
[6일차] 50일 포트폴리오 챌린지  (0) 2023.08.13
[5일차] 50일 포트폴리오 챌린지  (0) 2023.08.12
    '패스트캠퍼스 강의' 카테고리의 다른 글
    • [10일차] 50일 포트폴리오 챌린지
    • [9일차] 50일 포트폴리오 챌린지
    • [7일차] 50일 포트폴리오 챌린지
    • [6일차] 50일 포트폴리오 챌린지
    혼자공부중
    혼자공부중
    대단한 목적보다는 혼자 공부하는 것에 의미를 두려고 합니다.

    티스토리툴바