- Object Relational Mapping(ORM)
- 관계형 데이터베이스와 객체지향 프로그래밍 언어간의 간극을 좁히고 호환성을 높이기 위해 고안된 프로그래밍 기법
- Sequelize: Promise 기반의 대표적인 Node.js ORM
- Model-View-Controller(MVC)
- 웹 애플리케이션 설계에 널리 사용되고 있는 Software Architecture Design Pattern
- Model : database와 상호작용하여 data를 처리
- View : 사용자에게 보이는 화면의 시각적인 표현
- Controller : 사용자로부터 입력받은 요청을 처리하여 Model로 부터 데이터를 받아서 View로 전달
// MVC pattern pseudo code example
// 1. routes : users/profile/:id => Users.getProfile(id)
// 2. controllers
class Users {
function getProfile(id) {
profile = this.UserModel.getProfile(id);
renderView('users/profile', profile);
}
}
// 3. models
class UserModel {
function getProfile(id) {
data = this.db.get('SELECT * FROM users WHERE id = id');
return data;
}
}
// 4. views : users/profile
<h1>{{profile.name}}</h1>
<ul>
<li>Email: {{profile.email}}</li>
<li>Phone: {{profile.phone}}</li>
</ul>
자료 출처: 코드스테이츠