MVC 디자인패턴

Fabian
FabianCode
Published in
3 min readJun 20, 2020

model view controller

Photo by Joanna Kosinska on Unsplash

MVC란?

Model , View, Controller 로 에플리케이션을 3가지 기능역할로 구분한 개발 방법론 이라고 한다.

mvc패턴 생활코딩

간단하게 정리하면

Controller 에서 사용자에 요청에 따라 model에게 DB의 데이터를 요청하고, 요청한 데이터를 View를 통해 사용자에게 응답해준다.

Model : DB와 상호작용을 통해, data를 다룬다.
View: 사용자에게 UI 를 보여준다. (model이 다룬 데이터를 보여준다)
Controller: model과 view, 즉 데이터와 사용자 인터페이스를 연결하는 역할

mvc 패턴의 장단점

장점: 구성요소를 분리하기 때문에 유지보수가 용이하고, 확장성도 좋아지게되며, 기능에 따라 코드를 분류하여, 중복되는 코드를 작성하는 실수를 줄일 수 있다.

단점: 기능 설계를 위해 클래스들이 많이 필요하기 때문에 복잡할 수 있고, Model 과 View 의 의존성이 완벽히 분리 할 수 없기 때문에 패턴이 모호해 질수 있다.

pseudo Code

http://yourapp.com/users/profile/1/routes
users/profile/:id = Users.getProfile(id)
--------------------------------------------------
/controllers
class Users { function getProfile(id) { profile = this.UserModel.getProfile(id) renderView('users/profile', profile)
}
}
--------------------------------------------------/modelsclass UserModel { function getProfile(id) { data = this.db.get('SELECT * FROM users id = id') return data;
}
}
--------------------------------------------------/view/users/profile<h1>{{profile.name}}</h1>
<ul>
<li>Email: {{profile.email}}</li>
<li>Phone: {{profile.phone}}</li>
</ul>

--

--