본문 바로가기

개발자노트

개발의 구조적 패턴 [MVC]

[M] - Model

 DB에 저장된 데이터 => VO : 어떻게 Java 객체로 표현할지.
 DB연동  ex) 재고 데이터
 DBMS(Oracle,MySQL)
 DBMS에 저장된 데이터를 Java단으로 불러오는 역할
 => DAO : CRUD(핵심로직,비즈니스 메서드)
 == 실질적으로 사용자에게 서비스(제공)되는 메서드

 

[V] -View

 사용자공간 : console,브라우저, 웹 페이지
 => 화면 구성
 => 사용자가 입력한 모든 값에 대해서 유효성 검사

 

[C] - Controller

Model과 View를 연결하는 역할

전체적인 로직과 흐름을 알아야 하기 때문에 숙련도가 높거나 로직에 대한 이해가 충분해야한다.

 

MVC 구조를 사용하는 이유는?

★유지보수가 용이한 코드 == 낮은 결합도, 높은 응집도★ 를 위해서다.

결합도가 낮아짐  == 기능을 수정할 때 용이하다.

응집도가 높아짐  == 코드가 개별적으로 존재할 수 있다.

 

 

결합도 = 하나의 기능을 여러가지 기능으로 나눈 것 

ex) 결제에 대한 로직 => 결제창 출력 / 돈받고 계산하는 로직 / 결제 후 반환금액에 대한 로직 / 반환값 출력에 대한 로직 등을 세분화 해서 나누어둔다.

 

응집도 = 같은,혹은 비슷한 수행을 하는 것들을 한 클래스에 몰아 놓은 것

            => 한 클래스에서만 수정해도 돼서 유지보수에 용이해짐!