ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring] MVC 패턴이란?
    Spring 2022. 5. 19. 13:16
    반응형

    MVC 패턴이란?

    소프트웨어 공학에서 사용되는 디자인 패턴이다. Model, View, Controller 의 약자로 어플리케이션을 세 가지 역할로 구분한 개발 방법론으로

    이 패턴을 성공적으로 사용하면 사용자 인터페이스로부터 비즈니스 로직을 분리하여 어플리케이션의 시각적 요소나 그 이면에서 

    실행되는 비즈니스 로직을 서로 영향없이 쉽게 고칠 수 있는 어플리케이션을 만들 수 있다.

    사용자가 Controller 를 조작하면 Controller Model 을 통해 데이터를 가져오고, 그 데이터를 바탕으로

    View를 통해 시각적으로 표현을 제어하여 사용자에게 전달한다.

     

     

    Model

    데이터 정보들의 가공을 책임지는 컴포넌트를 말한다. 처음 정의하는 상수, 초기화 값, 변수 등을 뜻하며 비즈니스 로직을 처리한 후 

    모델의 변경사항을 컨트롤러 뷰에게 전달한다.

    모델은 어플리케이션의 정보, 데이터를 나타낸다. DB, 사용자가 원하는 모든 데이터를 가지고 있어야 하며, 

    view, controller 에 대해 어떤 정보도 알지 말아야 한다. 변경이 일어나면 변경 통지에 대한 처리방법을 구현해야만 한다.

     

    View

    사용자에게 보여지는 부분, 즉 유저 인터페이스를 의미한다.

    MVC패턴은 여러개의 view가 존재할 수 있으며, 모델에게 질의하며 데이터를 전달받는다. view는 받은 데이터를

    화면에 표시해주는 역할을 가지고 있다. model에게 전달받은 데이터를 별도로 저장하지 않아야 한다. 사용자가 화면에 표시된 내용을

    변경하게 되면 model에게 전달해 모델을 변경해야 한다. 

     

    Controller

    Model 과 View 사이를 이어주는 역할 

    model, view 는 서로의 존재를 모르고 있다. 변경사항을 외부로 알리고 수신하는 방법만이  있는데, controller는 이를 중재하기 위해ㅡㅐmodel과 vieew에 대해 알고있어야 한다. 

     

     

    MVC 패턴을 사용하는 이유 

    유지보수의 편리성 이라는 하나의 결론으로 수렴한다. 최초 설계를 진행한 시스템이라도 유지보수가 발생하기 시작하면 각 기능간의

    결합도(coupling)가 높아지는 경우다 발생한다. 이는 최초 설계 이념을 정했던 사람들의 부재 혹은 비즈니스 요건 변경으로 인해 필연적으로 발생하는데,

    결합도가 높아진 시스템은 유지보수 작업 시 다른 비즈니스 로직에 영향을 미치게 되므로 사소한 코드의 변경이 의도치 않은 버그를 유발할 수 있다. 선배 개발자들은 이러한 문제점을 해결하기 위해 model, view ,controller를 나누고 각 컴포넌트가 자신의 수행 결과를 다른 컴포넌트에게 전달하는 

    프로그래밍 방식을 만들었다. MVC 패턴을 가진 시스템의 각 컴포넌트는 자신이 맡은 영학만 수행한 후 다른 컴포넌트 결과만 넘겨주면 되기 때문에 시스템 결합도를 낮출 수 있다. 유지보수 시 특정 컴포넌트만 수정하면 되기 때문에 쉽게 시스템 변경이 가능하다.

     

     

     

     

    반응형

    'Spring' 카테고리의 다른 글

    [Spring] web.xml, servlet-context, root-context 비교  (0) 2022.05.19

    댓글

Designed by Tistory.