MVC란

최준호·2021년 7월 6일
0

개인 공부

목록 보기
2/8

MVC란

  • MVC 탄생 배경

    • 예전의 프로그램 개발자들은 자기 마음대로 프로그램을 구성하고 작성했습니다. 이런 프로그램은 초기에 만들기엔 괜찮았을지 몰라도 유지보수나 협업을 하는 과정에서 누구와 만나냐에 따라 프로그램 구조가 달라지고 유지보수도 팀이 바뀔때마다 구조를 새로 배우며 작업을 해야했습니다. 그래서 이걸 해결하기 위해 프로그램을 작성할때 협업과 유지보수가 쉬운 코드 구성법에 대해 고민하게 되었고 그렇게 수 많은 패턴들이 공유되고 논문으로 발표되었고 그 중 하나의 패턴이 MVC 패턴입니다.
  • MVC 정의

    • MVC Pattern이란 개발자들이 소프트웨어를 개발할 때 사용되는 디자인 패턴을 말합니다. 수많은 디자인 패턴이 존재하는데 그 중 MVC 패턴은 Model-View-Controller로 client와 server의 로직을 분리하여 server에서의 수정이 client의 화면에서 영향이 없도록 설계하는 것을 목적으로 합니다.

      Model 데이터 관련된 부분

      View 사용자에게 보여지는 부분

      Controller Model과 View를 이어주는 부분

  • MVC의 규칙

    • Model은 Controller와 View에 의존하면 안된다

      • Model에서 View나 Controller에 영향을 주거나 관련된 코드가 있어선 안된다.
    • View는 Model에 의존하고 Controller에 의존하지 않는다.

      • View에서 화면에 뿌려지는 데이터는 Controller에서 가공되면 안되고 Model에서 나온 데이터가 그대로 View에 뿌려져야합니다.
    • View가 Model로부터 데이터를 받을때는 사용자마다 다르게 데이터가 다른 부분에 대해서만 받아야한다.

      • Model에서 View로 전달되는 데이터는 화면에서 사용자마다 다르게 출력되는 데이터에 대해서 전달 받아야하며 사용자에 상관없이 무조건적으로 추력되는 데이터는 전달 받을 필요가 없습니다.
    • Controller는 Model과 View에 의존한다.

      • Controller는 Model에게서 데이터를 받아야하므로 Model에게 의존하며 또한 View에게 데이터를 전달해야하므로 View에 의존합니다.
    • View가 Model로부터 데이터를 받을때 반드시 Controller에서 받아야한다.

      • View는 Model에서 직접 데이터를 받지 않고 무조건 Controller를 통해 데이터를 받아야합니다.

        의존 의존이란 해당 비지니스 로직에서 다른 비지니스 로직의 코드를 불러올수 있거나 불러왔다면 의존하는 관계입니다.

profile
코딩을 깔끔하게 하고 싶어하는 초보 개발자 (편하게 글을 쓰기위해 반말체를 사용하고 있습니다! 양해 부탁드려요!) 현재 KakaoVX 근무중입니다!

0개의 댓글