MVC(Model-view-controller) pattern은 Django, Rails와 같은 웹 어플리케이션 개발에 주로 응용되는 아키텍쳐

31367 
Created at 2017-12-21 13:53:00 
313   0   0   0  

MVC(Model-view-controller) 아키텍쳐 패턴(Architectural pattern)은 웹 어플리케이션 개발에 주로 이용되는 아키텍쳐 패턴입니다.


MVC는 다음의  3개 파트로 구성되어져 있습니다.



  • 모델(model) - 기본 함수와 데이터를 포함합니다

  • 뷰(view) - 정보를 사용자에게 보여줍니다. 웹페이지 그 자체를 생각하시면 될 것 같습니다

  • 컨트롤러(controller) - 사용자로부터의 입력을 처리합니다


이 패턴의 기본 아이디어는 UI/연산(모델)/제어를 각각 분리하여 효율화를 하겠다는 것입니다. 실제 서비스 구축시에는 각각의 파트가 서버 인스턴스로 구성되어 퍼포먼스에 따른 서버 리소스 할당을 하여 효율화를 하기도 합니다.


MVC(Model-view-controller) pattern은 Django, Rails와 같은 웹 어플리케이션 개발에 주로 응용되는 아키텍쳐


MVC 아키텍쳐 패턴은 Java, Python, PHP와 같은 주요 프로그래밍 언어로 웹 어플리케이션 아키텍쳐 디자인시 주로 사용되고 있으며, Django나 Rails와 같은 웹 프레임웍(Web frameworks)에서도 사용되고 있습니다.


MVC 아키텍쳐 패턴은 동일한 모델에 대해 여러개의 뷰를 만들 수 있으며, 런타임에 동적으로 연결 및 해제를 할 수 있다는 장점이 있습니다. 그러나 이것이 오히려 복잡성을 증가시키며, 사용자의 행동에 대한 불필요한 업데이트가 많이 발생할 수 있다는 단점 또한 가지고 있습니다.


최근에는 RESTful API (Open API) 기반의 서비스/소프트웨어 개발이  널리 이용되면서 점차 MSA(마이크로 서비스 아키텍쳐; Micro Service Architecture)로 이동하는 추세를 보이고 있습니다.



Tags: Architectural Patterns Django Java MSA MVC MVC pattern MVC 아키텍쳐 Micro Service Architecture Model-view-controller architectural pattern Model-view-controller pattern Open API PHP Python RESTful API Rails Web frameworks controller model view 마이크로 서비스 아키텍쳐 모델 서버 인스턴스 아키텍쳐 아키텍쳐 패턴 웹 프레임웍 컨트롤러 Share on Facebook Share on X

◀ PREVIOUS
Event-bus pattern은 Push Notification Service, 안드로이드 앱 개발에 주로 응용되는 아키텍쳐
▶ NEXT
Blackboard pattern은 오늘날 NLU(Natural Language Understanding)이나 차량인식 등에 응용되는 아키텍쳐
  댓글 0
로그인을 하시면 댓글을 등록 할 수 있습니다.
SIMILAR POSTS

Event-bus pattern은 Push Notification Service, 안드로이드 앱 개발에 주로 응용되는 아키텍쳐 (created at 2017-12-20)

Blackboard pattern은 오늘날 NLU(Natural Language Understanding)이나 차량인식 등에 응용되는 아키텍쳐 (created at 2017-12-22)

Peer-to-peer pattern은 BitTorrent와 같이 파일공유 솔루션이나 P2PTV, PDTP와 같은 멀티미디어 프로토콜에 주로 이용 (created at 2017-12-19)

Interpreter pattern은 SQL 또는 통신프로토콜을 기술하는 언어 구현시 주로 이용되는 아키텍쳐 (created at 2017-12-23)

Broker pattern은 Apache ActiveMQ, Apache Kafka, RabbitMQ 등 메시지 미들웨어 같은 아키텍쳐에 주로 이용 (created at 2017-12-18)

아키텍쳐 패턴이란 - 소프트웨어 디자인 패턴 (updated at 2023-12-17)

Pipe-filter pattern은 컴파일러와 같이 통해 연속되는 필터링 기법을 통한 분석을 하는 아키텍쳐에 주로 이용 (created at 2017-12-17)

Master-slave pattern은 장애 대응을 위한 Database 복제 등 병렬처리 및 Disaster Recovery 대응 로직에 주로 이용 (created at 2017-12-16)

Client-server pattern은 TCP/IP를 통해 데이터를 주고 받는 이메일, 웹하드 등이 주로 이용하는 아키텍쳐 (created at 2017-12-15)

Layered pattern은 PC App, 쇼핑몰(이커머스) 웹사이트 등이 주로 쓰는 아키텍쳐 패턴 (created at 2017-12-14)

아틀라시안 뱀부(Atlassian Bamboo)를 활용한 CI(Continuous Integration) 환경 구축 (created at 2018-06-20)

플러거블 스토리지 엔진을 가진 MySQL 아키텍쳐 - InnoDB는 인메모리 캐싱을 하는 고성능 솔루션 (created at 2018-07-02)

넷플릭스 서비스 오토스케일링 아키텍쳐 (created at 2018-07-10)

AWS 기반 서버 없는 아키텍쳐(Server-less back-end architecture) (created at 2018-07-11)

마이크로 서비스 아키텍쳐 (MSA, Micro Service Architecture)의 장단점 및 구현 방법 (created at 2018-07-13)

CentOS 6.x에 APM(Apache+PHP+MySQL) 설치 및 초기 설정 방법 (created at 2017-03-14)

Machine Learning Tool의 종류와 용도 (created at 2017-03-12)

자연어처리(NLU)를 하기 위한 소프트웨어 아키텍쳐 - 걸음마단계부터 인간 수준으로 진화하는 방향에 대해 알아본다 (created at 2016-07-01)

구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼 (created at 2015-11-15)

EIDR(Entertainment IDentifier Registry) - 콘텐츠 ID 표준화를 이끄는 미디어/엔터테인먼트 서비스 연관 국제 표준 단체 (created at 2015-10-17)

인텔이 주장하는 데이터 센터 아키텍쳐의 미래는 Software-Defined Infrastructure(SDI) (created at 2015-06-18)

MAC에 Apache, PHP, MySQL 설치 - MAMP로 쉽게 설치 할 수 있어 (created at 2014-09-03)

집단지성을 활용하는 Collaborative Filtering(CF) 알고리즘 - 추천 알고리즘으로 많이 이용되고 있지만, 한계도 알아야 해 (created at 2014-08-27)

실사와 일러스트레이션의 차이 (created at 2014-04-26)

서버 인프라 설계시 장애를 고려하여 만드는 Single Infra, Active-Stand-by,Active-Active, Active-Stand-by/Active-Active+DR Center (updated at 2023-12-17)

나리타 공항 쇼핑, 먹거리 인프라 탐험-바나나 빵은 일본/동경 여행의 대표적인 기념품-볼거리도 많고 살만한 아기자기한 기념품도 많아, 이곳의 다양한 음식 체험에 다시 오고파 (created at 2013-06-09)

현란한 몸매의 모델 - 꼰 다리가 어찌 거시기 (created at 2013-05-01)

일본의 아이디어 상품 - 당신도 가슴뭉클 해 질 수 있다 (created at 2013-05-01)

모터쇼의 꽃 - 레이싱 모델의 서러운 속사정 (created at 2013-04-18)

스타킹 빨리 벗기고 신기 시합 (created at 2013-04-06)

2005년을 주름잡았던 패션 모델 이기용 - 다리가 길죠잉 (created at 2012-08-18)

애니 원령공주 실제 배경 섬 - 일본의 야쿠시마 섬 (created at 2012-06-16)

ChatGPT로 그려보는 그림 - 행복한 토끼를 그려 본다 (updated at 2023-12-01)

모델의 실수 (created at 2011-01-05)

프로와 아마츄어의 차이 (created at 2010-02-27)

워킹은 모델의 생명이다 (created at 2009-11-02)

다리 길이만 134cm인 거인 모델 (created at 2008-07-15)

어느 모텔의 알뜰정신... (created at 2008-06-10)

독서하는 습관은 아이를 큰 사람으로 만들어 준다 (created at 2008-04-14)

남친을 위한 특별한 옷차림 (created at 2008-03-24)

세계에서 가장 눈이 큰 모델 마샤 타이엘라 (created at 2008-02-23)

비스타에 이은 마이크로소프트 윈도우 차기 버전「윈도우 7」 (created at 2007-08-09)

패션쇼 현장 - 정말 민망한 상황 (created at 2007-08-06)

2-Tier 아키텍쳐와 3-Tier 아키텍쳐의 다른점 (created at 2007-05-04)

지정날짜에 이미지 보여주기 혹은 감추기 (created at 2006-10-10)

구글 메일(GMail)로 메일 발송하기 (created at 2006-10-10)

이미지를 지정된 비율로 자르기 (crop) (created at 2006-10-10)

정수 연산시 무조건 올림, 무조건 버림, 반올림 처리 방법 (created at 2006-10-06)

음력-양력 변환기 (created at 2006-09-28)

어떤 파라메터가 넘어왔는지 알아내는 함수 (created at 2006-09-28)

OTHER POSTS IN THE SAME CATEGORY

Delphi Community Edition - 비영리/개인 개발자에게 완전 무료 (created at 2019-07-09)

멀티도메인(Multi-domain) SSL 인증서 무료로 만드는 방법 (created at 2019-05-17)

CENTOS 7.x에 ffmepg 설치하는 방법 (updated at 2023-12-14)

삼성 wyz070 SIP Phone 설정 방법 (updated at 2023-12-17)

ffmpeg으로 mov file을 mp4로 변환하는 방법 (created at 2018-08-15)

마이크로 서비스 아키텍쳐 (MSA, Micro Service Architecture)의 장단점 및 구현 방법 (created at 2018-07-13)

AWS 기반 서버 없는 아키텍쳐(Server-less back-end architecture) (created at 2018-07-11)

넷플릭스 서비스 오토스케일링 아키텍쳐 (created at 2018-07-10)

플러거블 스토리지 엔진을 가진 MySQL 아키텍쳐 - InnoDB는 인메모리 캐싱을 하는 고성능 솔루션 (created at 2018-07-02)

아틀라시안 뱀부(Atlassian Bamboo)를 활용한 CI(Continuous Integration) 환경 구축 (created at 2018-06-20)

Windows Live Writer로 글 올릴 때 프로그램이 freeze되는 현상 해결 방법 (created at 2018-01-28)

HP EliteBook 8440p 시리즈 노트북 PC - 8440p 에 장착된 메모리 정보 (created at 2017-12-31)

아키텍쳐 패턴이란 - 소프트웨어 디자인 패턴 (updated at 2023-12-17)

Interpreter pattern은 SQL 또는 통신프로토콜을 기술하는 언어 구현시 주로 이용되는 아키텍쳐 (created at 2017-12-23)

Blackboard pattern은 오늘날 NLU(Natural Language Understanding)이나 차량인식 등에 응용되는 아키텍쳐 (created at 2017-12-22)

Event-bus pattern은 Push Notification Service, 안드로이드 앱 개발에 주로 응용되는 아키텍쳐 (created at 2017-12-20)

Peer-to-peer pattern은 BitTorrent와 같이 파일공유 솔루션이나 P2PTV, PDTP와 같은 멀티미디어 프로토콜에 주로 이용 (created at 2017-12-19)

Broker pattern은 Apache ActiveMQ, Apache Kafka, RabbitMQ 등 메시지 미들웨어 같은 아키텍쳐에 주로 이용 (created at 2017-12-18)

Pipe-filter pattern은 컴파일러와 같이 통해 연속되는 필터링 기법을 통한 분석을 하는 아키텍쳐에 주로 이용 (created at 2017-12-17)

Master-slave pattern은 장애 대응을 위한 Database 복제 등 병렬처리 및 Disaster Recovery 대응 로직에 주로 이용 (created at 2017-12-16)

Client-server pattern은 TCP/IP를 통해 데이터를 주고 받는 이메일, 웹하드 등이 주로 이용하는 아키텍쳐 (created at 2017-12-15)

Layered pattern은 PC App, 쇼핑몰(이커머스) 웹사이트 등이 주로 쓰는 아키텍쳐 패턴 (created at 2017-12-14)

삼성 MG900 블루투스 헤드셋 페어링 방법 (EO-MG900) (created at 2017-12-14)

추억의 스타크래프트 사무실에서 한판 뜨기 - IPX가 안되어 방법을 찾아 보았습니다 (created at 2017-10-30)

갑자기 컴퓨터가 너무 느려져 내가 한 일 - 백신프로그램 하나를 제외한 나머지를 다 지우니 해결 (created at 2017-07-15)

코드리뷰도 생산성 있게 - Visual Studio Code를 이용하여 코드리뷰 중 JIRA에 이슈 등록하는 방법 (created at 2017-07-14)

구입 후 만족스러웠던 맥북프로 케이스 - insquare 2017 맥북프로 13/15 터치바 케이스 (created at 2017-06-21)

원격 폴더를 외장 하드처럼 자유롭게 써 보자 - 마운틴덕(Mountain Duck) (created at 2017-04-14)

CentOS에서 포트 여는 방법 - iptables를 이용하여 80포트, 22번 포트 등을 열어 (created at 2017-03-14)

CentOS 6.x에 APM(Apache+PHP+MySQL) 설치 및 초기 설정 방법 (created at 2017-03-14)

UPDATES

자리 마음에 안든다고 6급 공무원 패는 농협 조합장 (created at 2024-03-26)

85세 딸 짜장면 사주는 102세 어머니 (created at 2024-03-26)

1990년대 감각파 도둑 (created at 2024-03-26)

치매에 걸린 69살의 브루스 윌리스가 전부인 데미무어를 보고 한 말 (updated at 2024-03-22)

일제강점기가 더 살기 좋았을지도 모른다는 조수연 국민의힘 후보 - 친일파? (updated at 2024-03-14)

성일종 인재육성 강조하며 이토 히로부미 언급 - 인재 키운 선례? (updated at 2024-03-13)

경제는 대통령이 살리는 것이 아닙니다 라던 윤석열대통령 - 상황 안좋아지자 여러 전략을 펼쳤지만, 부작용 속출했던 2024년의 봄 (updated at 2024-03-13)

극빈의 생활을 하고 배운것이 없는 사람은 자유가 뭔지도 모를 뿐 아니라 왜 개인에게 필요한지에 대한 필요성을 못느낀다는 윤석열 대통령 (updated at 2024-03-08)

조선일보를 안본다는 사람들이 말하는 그 이유 - 천황폐하, 전두환 각하, 김일성 장군 만세? (created at 2024-03-07)

광폭타이어를 장착하면 성능이 좋아질거라는 착각 (updated at 2024-03-03)

면허시험장에서 면허갱신하면 하루만에 끝나나? (updated at 2024-03-03)

신한은행/신한투자증권 금융거래 종합보고서 다운로드 방법 (updated at 2024-02-26)

100년 된 일본 장난감 회사가 내놓은 변신 기술에 난리난 과학계 (created at 2024-02-26)

알리에서 발견한 한글 지원하는 가성비 쩌는 무선 기계식키보드 (updated at 2024-02-25)

쌍팔년도가 1988년인줄 알았던 1인 (updated at 2024-02-23)

이쁜 색으로 변신한 테슬라 사이버트럭 (created at 2024-02-23)

2024년 카타르 아시안컵 4강전 전날 한국 대표팀 내부에 있었던 이강인의 폭주 (updated at 2024-02-21)

강릉 맛집 지도 (updated at 2024-02-20)

간이 안좋을 때 나타나는 증상 20가지 (updated at 2024-02-20)

배설물을 이용하여 일본에 저항했던 독립운동가 조명하 (updated at 2024-02-20)

요건 몰랐지롱? 이순신을 사랑한 외국인 (created at 2024-02-20)

원빈도 머리빨 (created at 2024-02-19)

대표적인 대한민국의 미남배우 중 하나인 원빈 (created at 2024-02-19)

백제의 건국 시조 온조왕 (updated at 2024-02-19)

700년동안 대한민국 고대국가의 한축이었던 백제시대 (created at 2024-02-19)

대머리들에게 주는 대머리의 조언 (created at 2024-02-17)

일본의 여성 락그룹 프린세스 프린세스의 "다이아몬드" (created at 2024-02-17)

결혼식 직전 연락두절된 신랑 (created at 2024-02-17)

대한민국 축구팀 파문으로 인해 중국 소셜미디어까지 등장한 탁구 전도사 이강인 (updated at 2024-02-16)

조국의 반격으로 흥미진진하게 흘러가는 한국의 정치판 - 데뷰와 동시에 한동훈 장관에게 던진 4개의 질문 (updated at 2024-02-15)

2024년 카타르 아시안컵 4강전 전날 내분사태로 갑자기 회자되는 이승우선수의 친화력 (created at 2024-02-15)

카카오뱅크 금융거래종합보고서/잔액증명서/거래내역서 발급 방법 (created at 2024-02-14)

아이가 최고의 스승이었다 (created at 2024-02-13)

이제는 국민 유행어로 등극한 한동훈의 "싫으면 시집가" (updated at 2024-02-13)

설 연휴 잔소리 메뉴판 - 이제 잔소리 하기전에 요금부터... (updated at 2024-02-10)

로버트 드니로의 70년 전 모습 (created at 2024-02-08)

카메라 어플로 만들어본 슈퍼걸 - 엄... 최종 작품은 왠지... (created at 2024-02-08)

앞트임 하고 새롭게 태어난 대한민국의 젊은 용사 (created at 2024-02-08)

비가 억수로 내리던 2024년의 2월 어느날 캘리포니아의 밤 카니예 웨스트와 그의 아나 비앙카 센소리 (updated at 2024-02-08)

스케방형사 1화 - 수수께끼의 전학소녀사키 (created at 2024-02-05)

백제와 일본의 교류가 가장 활발했던 시기는 근초고왕 시대 (created at 2024-02-05)

일에 찌들은 아빠가 꿈에서 깨어나지 않자 구출해주는 짱구 (created at 2024-02-03)

이제는 할아버지가 된 휴 그랜트(Hugh Grant)가 블랙핑크 콘서트에 다녀온 후 소감 (created at 2024-02-03)

다시 한번 감상해보는 추억의 날리면 패러디 (updated at 2024-02-01)

25년간 노예로 살다가 돌아온 남동생 (created at 2024-02-01)

가까우면서도 멀게 느껴지는 나라 일본 (created at 2024-02-01)

친구와 비교하다가 이혼하게 된 부부 (created at 2024-02-01)

요꼬 미나미노의 바람의 마도리걸(風のマドリガル) (created at 2024-01-30)

옛날 어린이들이 신문을 챙겨봤던 이유 (created at 2024-01-30)

Remaster된 요꼬 미나미노(南野陽子)의 판도라의 연인(パンドラの恋人) (updated at 2024-01-30)