21.02.14 TIL49 면접스터디 2주차 (2)

서태욱·2022년 2월 15일
0

4.MVC 패턴

MVC 패턴은 개발 과정에서 상황에 따른 문제점들을 정리해 특정 규약을 통해 쉽게 쓸 수 있도록 만든 디자인 패턴 중의 하나입니다.
Model, View, Controller의 약자로 하나의 애플리케이션, 프로젝트를 구성할 때 구성 요소를 세가지 역할로 구분해준 패턴입니다.

-Model: 애플리케이션의 정보, 데이터를 나타냅니다. 또한 이러한 데이터를 가공하는 컴포넌트입니다.
①사용자가 편집하기를 원하는 모든 데이터를 가지고 있어야 합니다.
②뷰나 컨트롤러를 참조하는 내부 속성값을 가지면 안됩니다.
③변경이 일어나면, 이를 전달하고 변경 요청 이벤트를 받을 경우를 위해 수신 처리 방법도 구현해야 합니다.

-View: 사용자 인터페이스 요소를 나타냅니다. 데이터 및 객체의 입출력을 담당합니다. 데이터를 기반으로 사용자들이 볼 수 있는 화면을 구성합니다.
①Model이 가지고 있는 정보를 따로 저장해서는 안됩니다.
②Model이나 Controller를 참조하거나 동작 등의 구성 요소를 알아서는 안됩니다.
③변경이 일어나면 이를 전달하는 변경 통지 방법을 구현해야 하고, 쉬운 정보 표현과 재사용이 가능한 설계가 필요합니다.

-Controller: 데이터와 사용자 인터페이스를 잇는 역할을 합니다. 사용자가 데이터를 클릭하고 수정하는 '이벤트'에 대한 처리를 합니다. 애플리케이션의 메인 로직을 담당합니다.
①Model과 View에 대해 알고 있어야 합니다. Controller는 이들을 중재해야 하기 때문입니다.
②Model과 View의 변경을 모니터링하고 변경 통지를 받으면 해석해서 각 구성 요소에 통지해야 합니다.

**🤔 왜 MVC 패턴을 사용하나요?**


사용자가 보는 페이지, 데이터 처리, 이를 중간에서 제어하는 컨트롤, 이 3가지로 기능을 분리하면 각각 맡은 바에 집중하여 개발할 수 있어 효율적입니다. 또한 유지보수성과 클라이언트의 요구사항을 반영하는 측면에서의 유연성이 증가하고 중복코딩도 해결할 수 있습니다.


5.트랜잭션 관리 용이

트랜잭션이란 DB 작업의 단위를 뜻합니다. DB 작업시 트랜잭션 관리를 매번 상황에 따라 관리한다면 매우 번거로운 작업일 것입니다. 따라서 어노테이션이나 XML로 트랜잭션 관리를 설정할 수 있습니다. 예컨대 rollback은 대표적인 트랜잭션 지원 사례입니다. 하나의 메서드에 insert와 delete가 있을 때 하나가 실패하면 rollback하도록, 즉 하나의 집합으로 움직이도록 만드는 것을 트랜잭션 지원이라 부를 수 있습니다.



스프링 프레임워크의 장점


1.스프링 프레임워크는 경량화된 프레임워크로, 빠른 시간에 엔터프라이즈급의 시스템 구축이 가능합니다.
2.기존 프레임워크는 특정 전문 영역에 대해서만 지원하는 경우가 많았으나, 스프링 프레임워크는 프로젝트 전체 설계에 용이합니다.
3.이처럼 전체 구조 설계에 집중되어 있기 때문에 다른 프레임워크와 공존하는 방식으로 사용 가능해서 다양한 조합이 가능합니다.
4.이론적으로는 개발자가 이해해야 하는 부분이 많지만 결과적으로 코드를 직접 사용하는 양을 줄여주었습니다. 또한 XML 설정을 이용해 유지 보수가 용이하고 각종 플러그인을 지원해 새로운 개발 도구에 대한 별도의 적응 없이도 사용 가능 합니다.


profile
re:START

0개의 댓글