Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- mysql #linux #설정 #wordpress #웹사이트 #db 연결 #
- 프로세스 #CPU #시공유 #커널
- aws #아키텍트 #과정 #vpc #인프라 구축 #public subnet #igw #curl #명령어 #http
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #KDT #기본문법 #데이터베이스 #Computer #Science #CPU #메모리
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- 인바운드 #아웃바운드 #방화벽설정
- sasac #aws 클라우드 #아키텍트 과정 #가상화 #vmbox #vmware #esxi #tar #selinux
- oracle vmbox #rocky #linux9 #명령어 #암호화인증 #해시알고리즘
- 쓰레드 #쓰레드풀 #프로세스
- 공간복잡도 #공간자원 #캐시메모리 #SRAM #DRAM #시간복잡도
- aws #아키텍트 #과정 #vpc #인프라 구축 #php #웹페이지 #http #public #instance
- samba #가상머신 #daemon
- storage #로컬스토리지 #세션스토리지 #백그라운드 서비스
- haproxy #wordpree #php #linux #가상화 #가상머신 #내용정리
- virtualbox #vmware #router #nat #pat #네트워크 구성도 #aws #ubuntu #
- aws #아키텍트 #과정 #vpc #인프라 구축 #public subnet #route53 #igw #연결
- ubuntu #설정변경 #vmware #vmbox #linux #명령어
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- aws #아키텍트 #과정 #s3 #bucket #생성 #이미지업로드
- aws #아키텍트 #과정 #vpc #인프라 구축 #public subnet #private subnet
- aws #클라우드 #퍼블릭 클라우드 #아키텍트 #과정
- tar #build #배포 #통신포트 #설정방법 #linux #apache
- aws #아키텍트 #과정 #vpc #인프라 구축 #public subnet #internet gateway #연결
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #OSI #ISO #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- 비트 #바이트 #이진수
- aws #아키텍트 #과정 #vpc #인프라 구축 #퍼블릭 서브넷 #안에 #ec2 인스턴스 #ami #생성 #firewall
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #웹개발
- aws #아키텍트 #과정 #vpc #인프라 구축
- aws #아키텍트 #과정 #vpc #인프라 구축 #퍼블릭 #보안그룹 #생성 #http #ipv4
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
Archives
- Today
- Total
요리사에서 IT개발자로
(스파르타 코딩클럽) mvc 패턴이란 본문
MVC(model -view- controller)
소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴
사용자의 인터페이스로 비즈니스 로직을 분리,
애플리케이션의
시각적 요소나 그 이면에서 실행되는 비즈니스 로직을
서로 영향없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다.
MVC에서
모델(View)은 애플리케이션의 정보(데이터)를 나타내며,
뷰(View)는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소
컨트롤러(Controller)는 데이터와 비즈니스 로직 사이의 상호 동작을 관리한다.(Service, Controller)
모델(Model)
컴포넌트를 의미한다.
애플리케이션의 정보, 데이터를 나타내고 데이터 베이스 처음의 상수, 초기화, 변수 등을 뜻한다.
뷰(View)
사용자에게 보여지는 부분, 유저 인터페이스를 의미한다.
MVC패턴은 여러개의 View가 존재할 수 있고 모델에게 질의하여 데이터를 전달받는다.
뷰(View)는 받은 데이터를 화면에 표시해주는 역할을 갖고있고,
모델에게 전달받은 데이터를 별도로 저장하지 않아야한다.
사용자가 화면에 표시된 내용을 변경할 시 모델에게 전달하여 모델을 변경해야한다.
컨트롤러(Controller)
모델과 뷰 사이를 이어주는 다리 역할을한다.
모델이나 뷰는 서로의 존재를 모른다.
변경사항을 외부로 알리고 수신하는 방법만있다.
컨트롤러는 이를 중재하기 위해서 모델과 뷰에 대해 알고 있어야하고 모델이나 뷰로부터 변경내용을 통지를 받으면 이를 각 구성 요소에게 통지해야한다.
MVC패턴의 장점
가진 시스템의 각 컴포넌트는 자신이 맡은 역할만 수행하고
다른 컴포넌트로 결과만 넘겨주기에 시스템 결합도를 낮출 수 있다.
유지보수 시에도 특정 컴포넌트만 수정하면되서 보다 쉽게 시스템 변경이 가능하다.
기능별로 코드를 분리하여 하나의 파일에 코드가 모이는 것을 방지하여 코드의 가독성과 확장성 재사용성이 증가한다.
MVC패턴은
대규모 프로그램의 경우
다수의 뷰와 모델이 컨트롤러를 통해 연결되기에 컨트롤러가 불필요하게 커지는 현상이 발생한다.
복잡한 화면을 구성하는경우 동일한 현상이 발생하는데 이를
Massive-VIew-Controller라 한다.
https://velog.io/@eunhye_k/MVC-%ED%8C%A8%ED%84%B4%EC%9D%98-%EC%9D%B4%ED%95%B4
반응형
'TIL' 카테고리의 다른 글
(스파르타 코딩클럽)브라우저의 작동방식 (4) | 2024.07.23 |
---|---|
(스파르타 코딩클럽) CORS란 (0) | 2024.07.23 |
(스파르타 코딩클럽) HTTP 메서드란 (0) | 2024.07.22 |
(스파르타 코딩클럽) RDBMS 정규화 (0) | 2024.07.19 |
(스파르타 코딩클럽) NoSQL과 RDBMS의 특징과 차이점 (0) | 2024.07.18 |