어떤 framework인지에 상관없이 기본적으로 통용되는 sw설계 방법이 존재한다.
확장성, 재사용성, 유지-보수 가능성, 가독성, 테스트 가능성
client - (request) - url config - view - model - database communication
장고는 모듈화가 잘 되어 있는 반면 node.js에서는 모듈화를 '직접'해야함.
model
DB에서 데이터 꺼내오는 것
view
화면에 보여주는 것
controller
http 요청을 제어(control)하는 것
ex. 모든 유저에게 접근 권한을 주지 않음. 유저의 접근권한을 확인하여 제어 (권한이 없으면 에러 발생시킴).
Route
django의 urls.py 역할(endpoint).
함수를 각각 맞는 url에 맵핑해주기 위해 routing이 필요함.controller
함수가 작성되는 곳. 요청과 응답 제어service logic
controller에서 인증이 되면(요청이 유효하면) DB에 접근
ex. 제품 정보 조회, 유저 정보 조회 etc.- 각 레이어는 오로지 바로 아래 레이어만 의존함
route
>controller
/controller
>service
/service
>model