소소한 지식 사전!

[소지사] MVC 디자인 패턴

개발 공주 2023. 6. 25. 19:13
728x90

  • MVC란 Model-View-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나이다.
  • MVC 패턴은 소프트웨어를 구성하는 요소들을 Model, View, Controller로 구분하여 각각의 역할을 분리합니다.

Model

  • 데이터와 비즈니스 로직을 담당합니다.
  • 데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행합니다.
  • 애플리케이션 데이터만을 포함하고, 데이터 조작하는 로직을 포함하지 않습니다.

View

  • 사용자 인터페이스를 담당합니다.
  • 사용자가 보는 화면과 버튼, 폼 등을 디자인하고 구현합니다.

Controller

  • Model과 View 사이의 상호작용을 조정하고 제어합니다.
  • 뷰와 모델 사이에 컨트롤러가 있습니다.
  • 사용자의 입력을 받아 Model에 전달하고, Model의 결과를 바탕으로 View를 업데이트합니다.

장점

  • 여러 개발자가 역할을 나눠서 모델, 컨트롤러, 뷰를 동시에 개발 가능 이를 통해 개발 시간 단축 및 역할 분리 가능
  • 중복코드를 없앨 수 있고, 확장성있고 유연한 코딩 가능
  • 각 컴포넌트별로 나눠져 있어 디버깅과 테스트가 용이함
  • 코드의 재사용성과 유지보수성을 높이고, 개발자들 간의 협업을 용이하게 합니다.

단점

  • 규모가 커질 수록 파일이 많아져 복잡해질 수 있음
  • 개발자 수가 적으면 오히려 유지보수 시간이 길어질 수 있음

다음에는 스프링 카테고리에 따로 스프링mvc를 공부해서 정리하겠다.

'소소한 지식 사전!' 카테고리의 다른 글

[소지사] ORM이란  (0) 2023.06.27
[소지사] Jackson  (0) 2023.06.27
[소지사] Http 상태코드(Status Code)  (0) 2023.06.25
[소지사] Http란  (0) 2023.06.25
[소지사]서버-클라이언트 통신 이해하기  (0) 2023.05.18