ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 디자인 패턴 - MVC 패턴은 무엇인가?
    Dev/cs 2023. 8. 23. 11:25
    반응형

     

    MVC 패턴은 모델(Model), 뷰(View), 컨트롤러(Conttroller)로 이루어진 디자인 패턴입니다.

    재사용성과 확장성이 용이하다는 장점이 있지만, 어플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해지는 단점이 있습니다.

    MVC패턴을 이해하기 쉽게 정리하려고 한다.

     

     

    모델

    데이터 저장소(ex. DB)와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다루는 영역.

    비즈니스 로직 및 데이터를 다룹니다.

     

    모델이 처리한 데이터나 그 작업 결과를 가지고 사용자에게 출력할 화면을 만드는 영역.

    input 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스(UI) 요소를 나타냅니다.

     

    컨트롤러

    데이터와 사용자인터페이스 요소들을 잇는 다리역할을 합니다.

    사용자가 데이터를 클릭하고, 수정하는 것에 대한 "이벤트"들을 처리하는 부분을 뜻합니다.

     

    관심사의 분리

    관심사의 분리(SoC, Separation of Concerns)는 중요한 설계 원칙 중 하나입니다. 이를 실현하는 방법 중 하나가 MVC 패턴으로 큰 프로그램을 데이터 처리, 출력 부분 등 의미 있는 집합의 모듈로 나눠 유지보수의 편의성을 취할 수 있습니다. 

    나눠진 모듈은 가독성을 높이며, UI 디자인과 비즈니스 로직이 분리돼 개발자와 디자이너 간의 협업이 수월해집니다.

    또한, 출력부가 다각화되면 여러 UI 플랫폼에서 동일 비즈니스를 실행해야 할 경우에도 개발이 한결 용이해 집니다.

     

    정리

    클라이언트가 보낸 데이터가 있다면,

    1. Controller가 Model을 호출할 때 전달하기 쉽게 적절히 가공한다.

    2. Model이 업무 수행을 완료하면, 그 결과를 가지고 화면을 생성하도록 View에 전달한다. 

     

    참고로, 몇몇 블로그에서 리액트를 MVC 패턴의 예시로 들고 있던데 공식문서에서는

    React isn’t an MVC framework.

    라고 했다! 

    https://legacy.reactjs.org/blog/2013/06/05/why-react.html#react-isnt-an-mvc-framework

    반응형

    'Dev > cs' 카테고리의 다른 글

    REST API란 무엇인가?  (0) 2024.04.22
    네트워크 성능 분석 명령어  (1) 2023.08.24
    네트워크 토폴로지(Network topology)  (1) 2023.08.24

    댓글

Designed by Tistory.