[아키텍처] MVC패턴을 어떨 때 적용하는게 좋을까??

조시현·2023년 10월 31일
0

아키텍처

목록 보기
1/1

우테코 1주차 과제부터 커뮤니티에서 MVC구조로 프로젝트를 해야하냐는 의견들이 많았다.
1주차 과제는 작은 프로젝트라고 스스로 느끼고 그렇게 복잡하지 않다는 생각이 들었으나, 2주가 과제에서 코드컨벤션을 통해서 코드를 작게 분리하고 코드가 조금 많아지니 MVC구조를 적용해야 하나 고민이 되는 정도의 규모가 되었다.

MVC 패턴

  • 목적: MVC 패턴은 사용자 인터페이스(UI)와 응용 프로그램 로직을 분리하기 위한 디자인 패턴입니다. 모델(Model)은 데이터와 비즈니스 로직을 나타내고, 뷰(View)는 데이터의 표시와 사용자 인터페이스를 관리하며, 컨트롤러(Controller)는 사용자 입력을 처리하고 모델과 뷰 간의 상호 작용을 관리합니다.

  • 관심사의 분리: 주로 사용자 인터페이스 관련 코드와 비즈니스 로직을 분리하고, 뷰와 모델 간의 상호 작용을 관리합니다.

그리고 MVC패턴을 작성할때 주의해야하는 사항:

간단하게 MVC패턴에 대해서 정리해보았다.

결론

MVC 패턴을 사용하지 않으면 빠르게 개발을 할 수 있지만,
MVC 패턴의 목적은 개발의 편리성보다 관심사의 분리를 통해 코드의 유지보수를 편하게 하는데 있으므로, 앞으로는 MVC패턴을 통해서 개발하는 것이 맞다고 생각하게 되었다.
코드의 가독성과 코드의 유지보수 측면에서 빠른 개발이 필요한 상황이 아니고, MVC패턴을 적용할 수 있는 상황이면 MVC패턴은 옳은 선택인거 같다.

무엇보다도,
단일 책임 원칙과 메서드가 너무 많아지면 코드 가독성이 떨어지므로
2주차 과제는 MVC 패턴을 이용하기로 결정하였다.

단일 책임 원칙 (Single Responsibility Principle, SRP)

  • 클래스는 하나의 주요 책임만 가져야 합니다. 이를 준수하기 위해 클래스 내의 메서드 수를 관리합니다.
  • 결합도를 낮춰줘야한다. 확장성을 막지 않아야한다.

코드가독성

메서드 수에 대한 일반적인 가이드는 5-10개 이하의 메서드를 가진 클래스가 이해하기 쉽다고 여겨집니다. 메서드가 작고 각 메서드가 특정 작업을 수행하도록 분리되어 있다면 코드 유지 관리가 용이해집니다.

profile
노력하는 개발자

0개의 댓글