MVC는 Model-View-Controller의 약자로 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다.
출처: MDN - MVC
관심사 분리를 통해 더 나은 업무의 분리와 유지보수를 편하게 만들어 준다.
아래 그림과 같이 표현할 수 있다.
출처: ResearchGate
사용자가 Viesw를 보면서 Controller를 통해 동작을 하면 Controller는 Model을 조정한다. 그러면 Model이 View를 업데이트 해서 사용자가 화면 이동, 검색결과 출력 등의 사용자 경험을 할 수 있는 것이다.
그림과 같이 사용자는 Model에 직접접근하지 않는다.
ORM(Object-Relational Mapping)을 단순하게 표현하면 객체와 관계와의 설정이라고 할 수 있다.
ORM에서 말한는 객체(Object)의 의미는 우리가 흔히 알고 있는 OOP(Object_Oriented Programming)의 그 객체를 의미한다는 것을 쉽게 유추할 수 있다.
관계라는 것은 개발자가 흔히 사용하고 있는 관계형 데이터 베이스를 의미한다.
출처: Incodom - ORM
ORM을 그림으로 표현하면 아래와 같다.
출처: JavaByDeveloper - ORM
장점
단점