MVC 패턴 & ORM

프최's log·2020년 10월 26일
0

study

목록 보기
33/59
post-custom-banner

MVC(Model View Controller)

소프트웨어가 돌아가는 방식에 대한 하나의 패턴(디자인, 아이디어)으로, 모델/뷰/컨트롤러의 기능을 나누어 코드 가독성, 관리성 부분을 높일 수 있다.

Ruby, PHP, Django, Express, Backbone, Angular, Flask와 같은 프레임워크가 MVC 패턴을 사용하고 있다.

  1. Model : 비지니스 로직이나 데이터 관리

    • 데이터베이스와 직접적으로 상호작용하는 역할(SELECT, INSERT, UPDATE, DELETE)
    • 데이터 상태 변경 시, 뷰에 알리나 가끔 컨트롤러에게도 알리기도 함
  2. View : 레이아웃과 화면 처리

    • 앱의 데이터를 보여주는 방식(UI)
    • 템플릿 엔진, HTML/CSS
    • 모델/DB에 직접 접근을 하지 않고 컨트롤러만 함께 상호작용
  3. Controller : 명령을 모델과 뷰 분기로 라우팅

    • 앱 사용자로부터 받은 입력에 대한 응답을 통해 모델 혹은 뷰를 업데이트하는 로직을 포함한다.(GET, POST, PUT, DELETE)
    • 뷰에서 일어나는 액션과 인풋 값을 받아서 모델에게 전달하고, 그 모델로부터 데이터를 얻어내고, 다시 뷰에게 데이터를 넘긴다.

WEB 예시

참고사이트


ORM(Object-Relational Mapping)

객체지향 관점과 관계형 데이터베이스에서 바라보는 관점이 다르기 때문에 이를 중간에서 도와주는 역할을 한다. ORM 을 통해 관계형으로 생각하지 않아도 JS 형태로 접근할 수 있다. 이 때문에 SQL 구문이 없어도 데이터베이스에 접근할 수 있다

profile
차곡차곡 쌓아가는 나의 개발 기록
post-custom-banner

0개의 댓글