ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • M.V.C 패턴
    web 2019. 11. 18. 18:02

    애플리케이션을 세가지의 역할로 구분한 디자인 패턴

     

    Model : 객체 -> 데이터를 담당

    • 테이블 
    • 사용자에 대한 객체라면 사용자의 id, pw의 값 즉 유저의 데이터를 가지고 있음

    View : 템플릿 -> 시작적인부분 담당

    • html

    Controller : 라우터의 역할

    •  Class가 정의 되어 있으며 해당 클래스의 매서드는 각 URL에 해당하는 매서드가 정의
    • URL별로 있는 매서드는 모델을 호출해서 사용자의 요청에 맞는 데이터를 뽑아오고 뷰를 통해서 화면에 뿌려줌
    • 예시)
    • url : login/ -> login이라는 매서드
    • url : home/ -> home_page라는 매서드

     

    사용자가 URL 요청을 하게 되면 컨트롤러는은 해당 URL을 가지고 사용자의 요구사항 파악한뒤 템플릿과 뷰의 내용을 현재 요구사항에 맞게 뽑아서 리턴해주는 역할

    EX) www.naver.com/login 과 같은 url로 사용자가 접속을 해온다면 컨트롤러는 사용자가 현재 로그인 서비스를 원한다고 생각할 수 가 있으며 뷰와 템플릿에서 로그인에 해당하는 페이지와, 데이터를 불러옴

    위의 디자인 패턴에 해당하는 웹 동작 예시

    1. 유저 즉 사용자가 로그인 URL로 서버 어플리케이션으로 요청 ( ID, PW의 값을 파라미터로 넘김 )
    2. 요청을 받은 애플리케이션은 가장먼저 컨트롤러가 URL을 확인
    3. 해당 ULR이 정의되어 있는 컨트롤러 클래스의 매서드를 찾음
    4.  해당 매서드는 /login/ URL에 해당하는 Model 객체 (user) 를 찾아서 파라미터 값을 전달 해줌
    5.  전달받은 파라미터 값을 객체 자신의 login 함수에 전달 즉 ID와 PW를 전달
    6. 로그인 함수에서는 전달받은 인자 값을 DB를 통해서 셀렉트 한 뒤 일치한다면 
    7. View즉 템플릿에 있는 많은 HTML 중 로그인 성공에 관한 HTML페이지가 뿌려지고 실패한다면 재시도 하라는 HTML페이지가 뿌려짐

    댓글

Designed by Tistory.