헬린코린이

1. MVC 패턴 본문

Programming/MVC

1. MVC 패턴

HCD 2022. 12. 12. 22:39

1. MVC 패턴이란

 

  디자인 패턴인데 간단하게 말하면 sw 개발 방법을 공식화한 것입니다. 

  Model & view & Controller 애플리케이션을 3가지 역할로 구분한 개발 방법론이고

  MVC패턴 이전에는

  Model1이 있는데 Jsp + JavaBean(Service) 뷰와 로직이 섞인 모델입니다.

  장점은 구조가 단순하지만

  단점은 출력과 로직 코드가 섞여 jsp코드가 복잡해지고 프런트와 백엔드가 혼재되어 분업이 용이하지 않습니다.

  그리고 유지보수가 어렵다는 단점이 있습니다.

 

  모델 1의 단점때문에 모델 2가 나왔습니다.

  구성은 JavaBean(Service)(모델) + JSP(뷰) + 서블릿(컨트롤러)으로 이루어져 있고

  장점은 뷰와 로직의 분리로 모델 1에 비해 덜 복잡하고 분업이 용이하며 , 유지보수가 쉽습니다..

  단점은 모델1에 비해 습득이 어렵고 작업량이 많습니다.

 

  MVC 흐름을 보겠습니다.

     1. 사용자가 원하는 기능을 처리하기 위한 모든 요청을 컨트롤러에 보내고

     2. 컨트롤러는 모델을 사용하고, 모델은 알맞은 비즈니스 로직을 수행한다.

     3. 컨트롤러는 사용자에게 보여줄 뷰를 선택한다.

     4. 선택된 뷰는 사용자에게 알맞은 결과 화면을 보여준다. 이 때 사용자에게 보여줄 데이터는 컨트롤러를 통해서 전달받는다.

 

2. Model, View, Controller를 알아보겠습니다.

Model은 값과 기능을 가지고 있는 객체로 비즈니스 로직을 수행하게 됩니다.

View는 모델에 포함된 데이터의 시각화해주는 것인데 그래서 view는 비즈니스 로직이 없습니다.

Controller 전체적인 흐름을 제어해주고 뷰와 모델의 역할을 분리합니다.

 

MVC의 장점은 각 컴퓨넌트의 코드 결합도를 낮추고

코드의 재사용성을 높입니다.

그리고 구현자들 간의 커뮤니케이션 효율성을 높여준다는 장점이 있습니다.

 

MVC 작성중에 많이 실수하는 부분들이 있는데

  1. Model에서 View의 접근 또는 View역할 수행해버리거나

  2. View에서 일어나는 '과한' 값 검증과 예외 처리를 해버립니다.

  3. View에 비즈니스로직을 작성해버립니다.

뭐 여러가지 실수가 있겠지만 이런 실수들만 잘 보안한다면 좋은 MVC를 사용하실 수 있으실 겁니다.

 

3. Service

 

서비스란 비지니스 로직을 수행하는 메서드를 가지고 있는 객체를 말한다.

다시말해 비지니스 메서드를 별도의 Service객체에서 구현하도록 하고

컨트롤러는 Service객체를 사용하도록 합니다.

서비스는 하나의 트랜잭션을 가지는데

 

트랜잭션 특징으로는 :ACID

  1. 원자성(Atomicity) 

    - 하나의 원라 트렌잭션은 모두 성공하거나 or 모두 실패한다.

  2.일관성 (Consistency)

    - 트랜젝션 작업처리 결과가 항상 일관성이 있어야한다.

  3.독립성 (Isolation)

    - 어느 하나의 트랜젝션이라도 다른 트랜잭션의 연산에 끼어들 수 없다.

  4.지속성 (Durability)

    - 트랜잭션이 성공적으로 완료되었을 경우, 결과는 영구적으로 반영되야 한다.

 

 

참고 영상입니다 : 0 (사실상 영상보고 복습했어요!!)

https://www.youtube.com/watch?v=uoVNJkyXX0I

 

Comments