TIL33: ORM / MVC

Charlie·2021년 1월 14일
0

Immersive Course TIL

목록 보기
33/39
post-thumbnail
  • 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>

자료 출처: 코드스테이츠

0개의 댓글